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

コメントで述べたように、解決策は AVAudioPlayer を呼び出す前に AVAudioSession カテゴリを設定することprepareToPlayです。

于 2012-04-30T03:03:32.110 に答える