iphone模拟器3.2 AvAudioPlayer fileURL问题

时间:2011-06-28 04:20:00

标签: ios-simulator avaudioplayer filepath ios3.0

avaudioPlayer我遇到了一个奇怪的问题。当我运行iphone模拟器4.0,4.1和4.2时它工作正常。当我运行ipad模拟器4.2时,它也运行正常,但是当我运行ipad模拟器3.2然后它崩溃,因为AVAudioPlayer代码有一个无效的fileURL。

这是我的代码。

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

// Convert the file path to a URL.
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];

我正在使用AVFoundation Framework与弱链接使其与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'

我该如何解决?

2 个答案:

答案 0 :(得分:1)

资源的名称不应该有扩展名,你的名字只能叫@“1”

答案 1 :(得分:0)

查看错误消息

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

,所以你可能想暂停

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

po appDelegate.globalMP3Name看看会发生什么。

我认为这只是零。