4 Stimmen

Wie kann ich die Lautstärke des MediaPlayers verringern, wenn ein Kopfhörer angeschlossen ist?

Ausgerichtet auf Android 2.2.

Ich muss überprüfen, ob der Benutzer beim Anhören von Medien einen Lautsprecher oder einen Kopfhörer verwendet. Das Beste, was ich bis jetzt gefunden habe, ist die isWiredHeadsetOn Methode. Schade, dass sie veraltet ist. Gibt es eine bessere Methode, um herauszufinden, ob Kopfhörer eingesteckt sind?

Die eigentliche Frage ist: Wie kann ich die MediaPlayer Lautstärke, wenn die Kopfhörer angeschlossen sind? Beim Start der Wiedergabe (d. h. durch eine boolesche Prüfung) und während der Wiedergabe (d. h. durch ein Ereignis)?

0voto

Anthony Graglia Punkte 5183

Ich habe einen Link gepostet, weil ich denke, dass er bei der Beantwortung helfen wird und SO in einen Kommentar umgewandelt wurde. Der folgende Code ist von und ich nehme keinen Kredit. Sie verwenden es für unplugged Kopfhörer zu hören, aber das gleiche Konzept sollte für das, was Sie fragen, möglich sein: Kopfhöreranschluss Hörer Android

private class NoisyAudioStreamReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {
            pause();
        }
    }
}

private IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);

private void startPlayback() {
    registerReceiver(myNoisyAudioStreamReceiver(), intentFilter);
}

private void stopPlayback() {
    unregisterReceiver(myNoisyAudioStreamReceiver);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X