auch sein mag, seine durch die aktuelle AVplayer Lauf Artikel zu einer Unterbrechung.
Achten Sie auch darauf, dass Sie es implementiert haben (unter Code), bevor Sie ein Element in AVPlayer laden. UND Fähigkeiten aktiviert, um Audio im Hintergrund abzuspielen.
NSError *myErr;
[self becomeFirstResponder];
[[UIApplication sharedApplication]beginReceivingRemoteControlEvents];
AVAudioSession *aSession = [AVAudioSession sharedInstance];
[aSession setCategory:AVAudioSessionCategoryPlayback error:&myErr];
[aSession setMode:AVAudioSessionModeDefault error:&myErr];
[aSession setActive: YES error: &myErr];
Implementieren und Interruption-Handler hinzufügen, so können Sie Ihre gestoppt Audio nach dem anderen Audio/Unterbrechung gestoppt wieder spielen. und unterhalb des Zuhörers wird es anrufen.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleAudioSessionInterruption:)
name:AVAudioSessionInterruptionNotification
object:aSession];
Und verwalten AVplayer Wiedergabe/Pause wieder in ihm:
- (void)handleAudioSessionInterruption:(NSNotification*)notification {
NSNumber *interruptionType = [[notification userInfo] objectForKey:AVAudioSessionInterruptionTypeKey];
NSNumber *interruptionOption = [[notification userInfo] objectForKey:AVAudioSessionInterruptionOptionKey];
switch (interruptionType.unsignedIntegerValue) {
case AVAudioSessionInterruptionTypeBegan:{
// • Audio has stopped, already inactive
// • Change state of UI, etc., to reflect non-playing state
IsInteruptionOccured=YES;
} break;
case AVAudioSessionInterruptionTypeEnded:{
// • Make session active
// • Update user interface
// • AVAudioSessionInterruptionOptionShouldResume option
IsInteruptionOccured=NO;
[[AVAudioSession sharedInstance] setActive: YES error: nil];
if (interruptionOption.unsignedIntegerValue == AVAudioSessionInterruptionOptionShouldResume) {
// Here you should continue playback.
// Resume after exteranl interruption.
[_audioPlayer play];
BOOL isPlayingWithOthers = [[AVAudioSession sharedInstance] isOtherAudioPlaying];
// test it with...
NSLog(@"other audio is playing %d",isPlayingWithOthers);
}
} break;
default:
break;
}
}
Ich habe bereits diesen Code in AppDelegate und Hintergrund-Modus auch auf hinzugefügt. – Giresh
Von meiner Seite funktioniert es perfekt. aber ich habe YMCAudioPlayer zum Abspielen von Musik verwendet. –
Bitte testen Sie Ihre App, indem Sie den folgenden Schritt ausführen: 1.Öffnen Sie App Play Media. 2.Stop Player. 3.Öffne Apple Music App und spiele Musik, dann hör auf Musik. 4. Jetzt ist Ihre App im Hintergrundmodus. Jetzt im Hintergrundmodus versuchen, Ihren App Media Player zu spielen. Lassen Sie mich Ihr Ergebnis – Giresh