0

我正在使用 AVAudioPlayer 在应用程序上播放一些 caf 文件,它在所有模拟器(iPhone 和 iPad)和我的 iPhone 上都可以正常工作,但是当我在 iPad 上测试它时它不起作用并给我这个错误:错误域 = NSOSStatusErrorDomain 代码 =-43 “操作无法完成。(OSStatus 错误 -43。)”奇怪的是,相同的代码在 iPad 上也适用于另一个应用程序...... iPad更新到IOS版本5.1.1

这是我正在使用的代码:

NSError *error;
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/music.caf", [[NSBundle mainBundle] resourcePath]]]; 

audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;

audioPlayer.volume = 0.5;


if (audioPlayer == nil)
    NSLog(@"%@", [error description]);

else
{
    [audioPlayer prepareToPlay];
    [audioPlayer play];
}

在 .h 文件中,我有 AVFoundation 的导入和

 AVAudioPlayer *audioPlayer;

并且 AVFoundation.framework 在它的位置

我真的对这件事感到疯狂......任何帮助将不胜感激。谢谢, 马西

4

1 回答 1

0
NSString* filepath = [[NSBundle mainBundle] pathForResource:@"music" ofType:@"caf"];
NSURL* url = [NSURL fileURLWithPath:filepath];
于 2012-08-28T18:26:41.537 回答