Odtwarzam pliki dźwiękowe z AVPlayer
. Zaimplementowałem AVAudioSessionInterruptionNotification
.Jak uzyskać przerwanie zdarzeń początkowych/końcowych dla AVPlayer
AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *errorInAudio = nil;
[session setActive:YES error:&errorInAudio];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(interruption:) name:AVAudioSessionInterruptionNotification object:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
To działa dobrze, gdy przyszła przerwa, podczas gdy aplikacja jest w planie (np sterowania głosowego).
Ale zrobiłem aplikację w tle i otworzyłem odtwarzacz iPod i zacząłem grać. Jego przerwanie nie jest wywoływane w tym czasie, a nawet gdy moja aplikacja weszła na pierwszy plan.
Jaki może być problem. Proszę pomóż.
Dzięki za odpowiedź. Mam delegata AVAudioPlayer. Ale chciałbym się dowiedzieć, czy istnieje jakikolwiek sposób wdrożenia tego przy użyciu AVPlayer. Czy możesz zasugerować pomysł? –
Nie mam dużego doświadczenia z AVPlayerem, ale to pytanie dotyczy tego samego problemu: http://stackoverflow.com/questions/6837002/no-avplayer-delegate-how-to-track-when-song-finished -playing-objective-c-iphon –
W każdym razie zmieniam mój AVPlayer na AVAudioPlayer. Dzięki za radę. –