2010-08-05 206 views
2
NSError *err; 

// Initialize audio player 
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&err]; 

audioPlayer.delegate = self; 
[audioPlayer play]; 

隨着上面的代碼,我試圖初始化播放.mp3文件,但播放根本不開始。沒有聲音。我究竟做錯了什麼?我檢查了'err',這裏沒有任何東西。音頻播放不啓動

編輯:添加AVAudioSession後,我從AVAudioPlayer

The operation couldn’t be completed. (OSStatus error -43.) 

回答

5

顯然AVAudioPlayer不支持流式通過。 HTTP,因爲我試圖這樣做,所以通過使用AVPlayer來代替,我得到了它的工作。

0

收到以下錯誤你初始化AVAudioSession?

以下工作適合我。可能會給你一些什麼不適合你的暗示。

初始化:

AVAudioSession* session = [AVAudioSession sharedInstance]; 
[session setCategory:AVAudioSessionCategoryAmbient error:nil]; 
[session setActive:TRUE error:nil]; 

加載:

AVAudioPlayer* audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileUrl error:nil]; 
audioPlayer.numberOfLoops = 0; 
[audioPlayer prepareToPlay]; 
audioPlayer.volume = 1.0; 

播放:

[audioPlayer play]; 

更新

要找到個爲fileUrl E右鍵NSRUL,我用這個代碼:

NSURL* fileUrl = [NSURL fileURLWithPath: 
    [[NSBundle mainBundle] pathForResource:@"MySound" ofType:@"wav"] isDirectory:NO]; 

然後我加入MySound.wav到項目(包)。

+0

我試過使用AVAudioSession,但現在我只是得到這個錯誤; 該操作無法完成。 (OSStatus錯誤-43。) – eriktm 2010-08-05 11:09:54

+0

我有上面的代碼與mp3和wave一起工作。嘗試另一個文件,一個.wav文件。 – 2010-08-05 11:48:33