Android 4.x RemoteControlClient.setTransportControlFlags () funktioniert nicht?

9

Ich versuche, die RemoteControlClient-Klasse zu verwenden, um den Sperrbildschirm-Player mit meiner App zu unterstützen. Ein Problem besteht darin, dass das Festlegen der Transportsteuerungsflags so aussieht, als ob sie nicht richtig funktionieren.

Ich versuche zum Beispiel, nur ein Play / Stop-Icon zu zeigen prev / next:

%Vor%

Dies zeigt ein vorheriges Symbol und ein Pausensymbol! Warum?

Um die Dinge noch schlimmer zu machen, wenn Sie die Stop / Play-Taste drücken, erhalten Sie nur KEYCODE_MEDIA_PLAY_PAUSE , wenn Sie KEYCODE_MEDIA_STOP oder KEYCODE_MEDIA_PLAY erhalten sollten.

Das ist eine frustrierende Entwicklung auf Android-Seite, wenn ich herausfinde, dass ich das richtig mache.

    
Jona 15.03.2012, 14:22
quelle

2 Antworten

0

Der FLAG_KEY_MEDIA_STOP zeigt nie einen Stopp wegen eines Fehlers in Android an, wie hier gemeldet: Ссылка

Wenn Sie das Flag PLAY_PAUSE verwenden, sollte dies nicht zu einem KEYCODE_MEDIA_STOP-Ereignis führen. Warum sollte es? Es ist eine Umschaltfunktion für Wiedergabe / Pause, die das tut, was sie beabsichtigt. Es liegt an Ihrer Anwendung, den Status Ihres Media Players zu speichern.

Wenn ich die Dokumentation richtig verstehe, könnten Sie KEYCODE_MEDIA_PLAY oder KEYCODE_MEDIA_PAUSE nur dann erhalten, wenn Sie die Flags FLAG_KEY_MEDIA_PLAY und FLAG_KEY_MEDIA_PAUSE verwenden. Aber Android könnte "schlau" sein und es in einen Toggle übersetzen. Da bin ich mir nicht sicher.

    
mrbob 08.04.2014 07:14
quelle
0

Verwenden Sie die FLAG_KEY_MEDIA_PLAY_PAUSE

oRemoteControlClient.setTransportControlFlags(RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE);

Und lüge zum RemoteControlClient; -)

Sagen Sie ihm, dass der Stream gepuffert ist und der Stopp-Button erscheint!

oRemoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_BUFFERING);

Prost

    
bma350 24.10.2014 16:15
quelle