我的资源文件夹中有一些mp3文件,我该如何播放这些mp3文件?我只知道他们的名字。
答案 0 :(得分:2)
您可以使用AVAudioPlayer
。要获取文件的网址,请使用NSBundle
s -URLForResource:withExtension:
(或向下兼容的替代方案,请参阅Kennys的答案):
NSURL *url = [[NSBundle mainBundle] URLForResource:@"myFile" withExtension:@"mp3"];
NSError *error = 0;
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
// check error ...
[player play];
// ...
请不要忘记阅读using audio上的“多媒体编程指南”部分。
答案 1 :(得分:2)
只是为了补充@Georg的答案。
从文档中可以看出,-URLForResource:withExtension:
仅在4.0之后可用。由于3.x仍然普遍存在,因此最好使用向后兼容的方法:
通过将路径转换为NSURL:
NSString* path = [[NSBundle mainBundle] pathForResource:@"myFile" ofType:@"mp3"];
NSURL* url = [NSURL fileURLWithPath:path];
....
或者,通过CoreFoundation方法:
CFURLRef url = CFBundleCopyResourceURL(CFBundleGetMain(),
CFSTR("myFile"), CFSTR("mp3"), NULL);
....
CFRelease(url);