[英]NSBundle pathForResource nil
我正在尝试加载M4A文件,但无法使用NSBundle获取文件的路径。
NSString *fileURLString = [[NSBundle mainBundle] pathForResource:fileName ofType:fileExtension];
NSURL *fileToBePlayed = [[NSURL alloc] initWithString:fileURLString];
tourAudioPlayer = [tourAudioPlayer initWithContentsOfURL:fileToBePlayed error:nil];
当我运行代码时,调试器显示fileURLString为nil,随后的两个对象也是如此。
我已将该文件添加到Supporting Files目录中,并确认该文件已包含在Target> Build Phases下的Copy Bundle Resources下。
不幸的是,在这种情况下,Clean and Build的魔力使我失败了。 我缺少文件加载阶段吗?
只是尝试这个...。
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *vedioURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:FileName ofType:FileType]];
MPMoviePlayerViewController *videoPlayerView = [[MPMoviePlayerViewController alloc] initWithContentURL:vedioURL];
[self presentMoviePlayerViewControllerAnimated:videoPlayerView];
[videoPlayerView.moviePlayer play];
}
我已经解决了这个问题,事实证明这是两个愚蠢的问题。
第一个问题是我使用的是initWithString:而不是fileURLWithPath:。 懒惰地阅读我的文档。
第二个问题是令人尴尬的监督。 提供的代码段代表了AVAudioPlayer的初始创建,因此我一直在为其在堆上分配空间。
进行上述更改已解决了该问题。 感谢所有提供建议和支持的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.