私はバックグラウンドでAVAudioPlayerを使用して音楽を再生しています。問題は、着信コールがプレーヤを中断した場合、フォアグラウンドに切り替えて手動で行うまで再開しないことです。いずれかが私を助けることができるバックグラウンドで中断した後にAVAudioPlayerを再開する方法
-(void)audioPlayerBeginInterruption:(AVAudioPlayer *)player
{
//tried this, not working [[AVAudioSession sharedInstance] setActive: NO error: nil];
NSLog(@"-- interrupted --");
}
//----------- THIS PART NOT WORKING WHEN RUNNING IN BACKGROUND ----------
- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player
{
NSLog(@"resume!");
//--- tried, not working: [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: nil];
//--- tried, not working: [[AVAudioSession sharedInstance] setActive: YES error: nil];
//--- tried, not working: [audio_player prepareToPlay];
[audio_player play];
}
:割り込みを処理するため
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
url = [[NSURL alloc] initFileURLWithPath:...];
audio_player = [[AVAudioPlayer alloc] initWithContentsOfURL: url error:NULL];
audio_player.delegate = self;
bool ret = [audio_player play];
デリゲートを:
コードは、バックグラウンドでそれを再生するために、簡単ですか?
同じpbですが、解決策を見つけましたか?これまでのところ、 – fvisticot
はありません。しかし、解決策があります。サンプルのリンゴストアアプリはこれを行っています。 – Paul