繁体   English   中英

NSBundle pathForResource无

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM