2012-08-28 219 views
0

我使用AVAudioPlayer播放應用程序中的一些caf文件,它在所有模擬器(iPhone和iPad)和我的iPhone上工作正常,但是當我在iPad上測試它時, t工作,並給我這個錯誤:錯誤域= NSOSStatusErrorDomain代碼= -43「操作無法完成。(OSStatus錯誤-43。)」 奇怪的是,它是相同的確切代碼,它也工作得很好,在iPad上另一個應用程序.... iPad的更新到IOS版本5.1.1AVAudioPlayer真的很奇怪的行爲

這是我使用的代碼:

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是在其位

我真的越來越瘋狂這個東西...任何幫助將是非常非常非常感激。 感謝,梅西

回答

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

抱歉,這給了我一個錯誤:終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因:「*** - [NSURL initFileURLWithPath:]:零字符串參數」 – Blue

+0

它沒有找到您.caf文件,請確保您的文件在xcode文件檢查器中的「目標成員身份」下被選中 – meggar

+0

目標成員資格檢查完成了這個訣竅....同時我的代碼正在工作......非常感謝! 我不明白的是爲什麼在我的另一個應用程序,我有相同的代碼和目標會員不檢查,但它工作正常... 無論如何非常感謝您的幫助!我真的很感激 和平,馬西 – Blue