Objective c 在资源文件夹中播放声音文件

Objective c 在资源文件夹中播放声音文件,objective-c,iphone,Objective C,Iphone,我的资源文件夹中有一些mp3文件,如何播放这些mp3文件?我只知道他们的名字。你可以使用。要获取文件的URL,请使用NSBundles(或向下兼容的备选方案,请参阅Kenny的答案): 并且不要忘记阅读上的多媒体编程指南部分。您可以使用。要获取文件的URL,请使用NSBundles(或向下兼容的备选方案,请参阅Kenny的答案): 另外,别忘了阅读上的多媒体编程指南部分。只是补充您的答案 从文档中可以看到,-URLForResource:withExtension:仅从4.0版起可用。由于3.x

我的资源文件夹中有一些mp3文件,如何播放这些mp3文件?我只知道他们的名字。

你可以使用。要获取文件的URL,请使用
NSBundle
s(或向下兼容的备选方案,请参阅Kenny的答案):

并且不要忘记阅读上的多媒体编程指南部分。

您可以使用。要获取文件的URL,请使用
NSBundle
s(或向下兼容的备选方案,请参阅Kenny的答案):

另外,别忘了阅读上的多媒体编程指南部分。

只是补充您的答案

从文档中可以看到,
-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);
    
只是补充我们的答案

从文档中可以看到,
-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);
    

哎呀,这就是我快速拼凑的结果:)哎呀,这就是我快速拼凑的结果:)