La mia app trasmette musica e voglio essere in grado di mettere in pausa/riprodurre/saltare da qualsiasi dispositivo Bluetooth che potrebbe supportare questi pulsanti (auto, cuffie, ecc.). Se connesso tramite il bluetooth di un'automobile, l'audio passa automaticamente, ma i pulsanti di controllo non influiscono sul flusso audio della mia app. Apre invece il lettore multimediale predefinito. Come faccio a instradare questi pulsanti per influenzare la mia app?Controlli audio Bluetooth in Android
risposta
Hai registrato un BroadcastReceiver
nella tua app per ascoltare gli eventi MEDIA_BUTTON
utilizzando AudioManager.registerMediaButtonEventReceiver()
?
Dopo la registrazione, gli eventi del pulsante possono essere gestiti elaborando l'oggetto KeyEvent
collegato negli extra come EXTRA_KEY_EVENT
. Per esempio:
@Override
public void onReceive(Context context, Intent intent) {
final KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event.getAction() != KeyEvent.ACTION_DOWN) return;
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_MEDIA_STOP:
// stop music
break;
case KeyEvent.KEYCODE_HEADSETHOOK:
case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
// pause music
break;
case KeyEvent.KEYCODE_MEDIA_NEXT:
// next track
break;
case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
// previous track
break;
}
}
Questo Android Developer blog post hanno anche qualche bella informazioni sul tema.
Ho visto eventi di 'MEDIA_BUTTON' attraverso il log, quindi questo sembra promettente. Domani darò un via. –
A seguito della accepted answer, si prega di essere consapevole del fatto che una delle keycodes è cambiato in Ice Cream Sandwich:
Il codice chiave che viene passato per il gioco/pausa intento è cambiato nella ICS. Vedere questo http://code.google.com/p/media-button-router/issues/detail?id=10#c5
Il codice chiave che era stato inviato prima di ICS era KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE. Ora ci sono due keycode separati per riproduzione e pausa (126 e 127).
Sta inviando KEYCODE_MEDIA_PLAY (126) e KEYCODE_MEDIA_PAUSE (127).
- 1. Ricezione audio tramite Bluetooth in Android
- 2. Android: riproduzione audio tramite auricolare Bluetooth Sco
- 3. HTML5 Bluetooth e audio
- 4. Streaming audio tra dispositivo bluetooth esterno e telefono Android
- 5. Instradamento audio su auricolare Bluetooth (non-A2DP) su Android
- 6. Rilevazione o approssimazione della latenza Bluetooth su Android (riproduzione audio)
- 7. Riproduzione audio con controlli in iOS
- 8. Come registrare audio utilizzando l'auricolare bluetooth
- 9. Controllo dispositivo audio Bluetooth con iPhone
- 10. Trasforma il telefono Android in auricolare Bluetooth
- 11. Controlli personalizzati per tag audio 5 HTML?
- 12. Attivare SPP Bluetooth in Android?
- 13. Modifica audio in Android
- 14. Riconoscimento audio in Android
- 15. distorsione audio Android su forma d'onda quadrata
- 16. Modalità Doze Android - Bluetooth
- 17. Arduino + modulo Bluetooth + Android
- 18. Trasferimento file Bluetooth Android
- 19. Stampa Bluetooth Android
- 20. Android: stampa Bluetooth
- 21. ADB tramite Bluetooth Android
- 22. Android 2.1: crittografia Bluetooth
- 23. Android 6 bluetooth
- 24. Programmazione Bluetooth su Android
- 25. Esempio Bluetooth Android
- 26. Html Audio in Android Webview
- 27. File audio inverso in Android
- 28. Nessun audio in Android-x86
- 29. Bluetooth in Android x86 su Virtualbox
- 30. Rilevazione dispositivo Bluetooth in Android - startDiscovery()
Ciao, Puoi condividere codice di esempio per lo stesso? –