以下代码应播放声音,不会停止播放iPad的音乐/ 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)
,因此不会出现错误。
答案 0 :(得分:5)
正如我在评论中所说,似乎解决方法是在调用AVAudioPlayer上的prepareToPlay
之前设置AVAudioSession类别。