NSError *err;
// Initialize audio player
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&err];
audioPlayer.delegate = self;
[audioPlayer play];
使用上面的代码,我正在尝试初始化.mp3文件的播放,但播放根本没有开始。没有声音。我究竟做错了什么?我检查过'错误',那里什么都没有。
编辑:添加AVAudioSession后,我从AVAudioPlayer收到以下错误
The operation couldn’t be completed. (OSStatus error -43.)
答案 0 :(得分:5)
显然AVAudioPlayer
不支持直播。正如我试图做的那样,所以通过使用AVPlayer
,我得到了它。
答案 1 :(得分: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
找到合适的NSRUL,我使用了以下代码:
NSURL* fileUrl = [NSURL fileURLWithPath:
[[NSBundle mainBundle] pathForResource:@"MySound" ofType:@"wav"] isDirectory:NO];
然后我将MySound.wav
添加到项目(包)中。