AVAudioPlayer真是奇怪的行为

时间:2012-08-28 18:04:38

标签: iphone cocoa ipad avaudioplayer

我正在使用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就位于其中

我真的对这件事感到疯狂......任何帮助都会非常感激。 谢谢,马西

1 个答案:

答案 0 :(得分:0)

NSString* filepath = [[NSBundle mainBundle] pathForResource:@"music" ofType:@"caf"];
NSURL* url = [NSURL fileURLWithPath:filepath];