2010-08-05 138 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