KannReceivingRemoteControlEvents in iOS nicht starten

8

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

%Vor%

Dann, in viewContoller, wo mein Player platziert ist, ich beginReceivingRemoteControlEvents gefällt das

%Vor%

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

%Vor%

Warum kann das passieren?

LÖSUNG Hier ist, was mein Problem gelöst hat Hintergrund auf iOS4 eingeben, um Audio abzuspielen

    
Nikita Pestrov 23.04.2012, 06:59
quelle

4 Antworten

13

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%     
Khalid Usman 23.04.2012, 09:59
quelle
4

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.

    
mahboudz 03.09.2015 10:49
quelle
1

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.

    
Sam 05.05.2012 23:49
quelle
0

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.

    
Srikanth 10.12.2012 14:50
quelle