首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSBundle pathForResource nil

NSBundle pathForResource nil
EN

Stack Overflow用户
提问于 2014-04-20 21:07:44
回答 2查看 625关注 0票数 0

我正在尝试加载一个M4A文件,但是我无法使用NSBundle获得文件的路径。

代码语言:javascript
复制
NSString *fileURLString = [[NSBundle mainBundle] pathForResource:fileName ofType:fileExtension];
NSURL *fileToBePlayed = [[NSURL alloc] initWithString:fileURLString];

tourAudioPlayer = [tourAudioPlayer initWithContentsOfURL:fileToBePlayed error:nil];

当我运行代码时,调试器显示fileURLString为零,因此,随后的两个对象也是如此。

我已经将该文件添加到支持文件目录中,并确认该文件包含在Target > Build阶段下的Copy参考资料中。

不幸的是,在这种情况下,清洁和构建的魔力让我失望了。在加载文件时是否有某个阶段,因为我丢失了?

EN

回答 2

Stack Overflow用户

发布于 2014-04-21 04:42:52

试试这个..。

代码语言:javascript
复制
- (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];
}
票数 0
EN

Stack Overflow用户

发布于 2014-04-21 16:07:44

我解决了这个问题,原来是两个愚蠢的问题。

第一个问题是我使用的是initWithString:而不是fileURLWithPath:。懒洋洋地阅读我的文档。

第二个问题只是一个令人尴尬的疏忽。所提供的代码片段代表了AVAudioPlayer的初始创建,因此我遵循在堆上为它分配空间。

做出上述改变已经解决了这个问题。感谢每一个提供建议和支持的人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23187586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档