In meiner App möchte ich, dass Benutzer die Audiowiedergabe im Hintergrund steuern können. Ich stelle backGround-Modi in .plist ein und spiele in bg genau so, wie ich es wollte. Aber ich bekomme keine Antwort, wenn ich die Steuertasten berühre.
Ich habe die AudioSession
so eingestellt
Dann, in viewContoller, wo mein Player platziert ist, ich beginReceivingRemoteControlEvents
gefällt das
Und es druckt Responds!
Aber das Problem ist, dass diese Methode niemals aufgerufen wird
%Vor% Ich habe sogar versucht, eine Kategorie in UIApplication
zu schreiben, damit sie zum Ersthelfer wird, aber es hilft nicht
Warum kann das passieren?
LÖSUNG Hier ist, was mein Problem gelöst hat Hintergrund auf iOS4 eingeben, um Audio abzuspielen
Ich habe die gleiche Arbeit in meinem Projekt gemacht, es funktioniert gut. Bitte folgen Sie diesem, vielleicht wird es Ihnen helfen. Ändern Sie den Namen des Ereignisses usw. In meinem Code ist _audio das Objekt von AVAudioPlayer.
%Vor%Es gibt einen neueren Mechanismus zum Abhören von Fernsteuerungsereignissen. Um beispielsweise einen Block auszuführen, wenn die Taste zum Anhalten / Anhalten der Kopfhörer gedrückt wird:
%Vor%oder, wenn Sie eine Methode anstelle eines Blocks bevorzugen:
%Vor%Um zu stoppen:
%Vor%oder:
%Vor%Sie müssen dies zum Einschlussbereich Ihrer Datei hinzufügen:
%Vor%Damit es im Hintergrund funktioniert, müssen Sie den Hintergrund-Audiomodus zu den Funktionen Ihrer App hinzufügen.
Sehen Sie sich diesen Beispielcode von Apple für ein Anwendungsbeispiel an. Wahrscheinlich wird Ihr primärer View-Controller nicht der erste Responder. Eine alternative Verwendung besteht darin, diesen Code in Ihrem Anwendungsdelegaten zu platzieren (der immer der Ersthelfer ist) und auf diese Ereignisse zu reagieren, bevor sie sich verbreiten konnten und möglicherweise von anderen Antwortenden konsumiert wurden.
Sie haben
%Vor%aber in der Methodensignatur haben Sie
%Vor%Der Ort, an dem Sie die Signatur registrieren, ist falsch. Ersetzen Sie es einfach durch
%Vor%Sie vermissen das: was bewirkt, dass die App das Even an eine nicht existierende Methode sendet, die ich annehme. Ich bin überrascht, dass deine App nicht abstürzt.
Tags und Links objective-c ios avaudioplayer background remote-control