AVAudioEngine使用時の電話割り込み終了後にクラッシュします。
AVAudioEngineを用いて音楽再生アプリを作成しています。
下記のようにNotificationCenterを用いて電話の割り込みを監視することは可能なのですが、電話終了時に再びAVAudioEngineを再生した際に必ずクラッシュします。
Debug Windowには下記が表示されます(一部抜粋)
[avae] AVAEInternal.h:70:_AVAE_Check: required condition is false: [AVAudioPlayerNode.mm:536:StartImpl: (_engine->IsRunning())]
ちなみに、AvaudioSessionは、下記のように設定しています。
audioSession_1 = [AVAudioSession sharedInstance];
[audioSession_1 setCategory:AVAudioSessionCategoryPlayback error:nil];
電話を受話した場合に「一時停止」、終了後に「再生再開」が目的です。アドバイスよろしくお願いします♫(Objective-Cで解説頂けますと助かります。。)
- (void)viewDidLoad
{
~
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(audioSessionInterrupted:)
name:AVAudioSessionInterruptionNotification
object:nil];
~
}
- (void)audioSessionInterrupted:(NSNotification*) notification{
NSNumber *interruptType = [notification.userInfo objectForKey:@"AVAudioSessionInterruptionTypeKey"];
if ([interruptType unsignedIntegerValue] == AVAudioSessionInterruptionTypeBegan){
//割り込み開始
NSLog(@"割り込み開始");
}else if([interruptType unsignedIntegerValue] == AVAudioSessionInterruptionTypeEnded){
//割り込み終了
NSLog(@"割り込み終了");
}
}