iphone模拟器3.2 AvAudioPlayer文件URL问题



我在avaudioPlayer上遇到了一个奇怪的问题。当我运行iphone模拟器4.0、4.1和4.2时,它工作得很好。当我运行ipad模拟器4.2时,它也可以正常工作,但当我运行ipad模拟器3.2时,它会崩溃,因为AVAudioPlayer代码的文件URL为Null。

这是我的密码。

   NSString *filePath = [[NSBundle mainBundle] pathForResource:appDelegate.globalMP3Name
                                                     ofType:@"mp3"];
// Convert the file path to a URL.
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];

我使用的是带有薄弱环节的AVFoundation框架,使其与iOS3兼容。它正在正确获取globalMP3Name(1.mp3),因此1.mp3的filePath不应为null。FileURL可以与其他模拟器一起工作,但只有3.2崩溃。

这是来自控制台的错误消息。

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ' *** -[NSURL initFileURLWithPath:]: nil string parameter'
2011-06-27 18:51:57.092 Stack: (
45475920,
46633772,
45213451,
45213290,
1135303,
18960,
3038446,
3535934,
3545280,
3540077,
3165672,
3057219,
3088856,
53191036,
44755100,
44751016,
53184669,
53184866,
3081074,
10148,
10037
)
terminate called after throwing an instance of 'NSException'

我该如何修复它?

资源的名称不应该有扩展名,您的名称应该只调用@"1"

查看错误消息

reason: ' *** -[NSURL initFileURLWithPath:]: nil string parameter

,所以您可能需要在处暂停

NSString *filePath = [[NSBundle mainBundle] pathForResource:appDelegate.globalMP3Name ofType:@"mp3"];

po appDelegate.globalMP3名称查看发生了什么。

我认为它是零。

最新更新