3

以下代码应该播放声音并且不会停止 iPad 的 Music/iPod 播放的音乐。(在 iOS 5.1 上,iPod 应用程序变成了音乐应用程序)。

它正在使用AVAudioSessionCategoryAmbient而不是AVAudioSessionCategorySoloAmbient. 但无论哪种情况,它实际上都停止了音乐。使用有什么问题AVAudioSessionCategoryAmbient吗?

NSURL *sound0URL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"0" ofType:@"aiff"]];

audioPlayer0 = [[AVAudioPlayer alloc] initWithContentsOfURL:sound0URL error:nil];

audioPlayer0.delegate = self;
[audioPlayer0 prepareToPlay];

NSError *setCategoryErr = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&setCategoryErr];

NSLog(@"%@", setCategoryErr);

audioPlayer0.currentTime = 0;
[audioPlayer0 play];

setCategoryErr打印,(null)因此应该没有错误。

4

1 回答 1

5

正如我在评论中所说,似乎解决方案是在调用prepareToPlayAVAudioPlayer 之前设置 AVAudioSession 类别。

于 2012-04-30T03:03:32.110 回答