4

Android 2.2 を対象としています。

メディアを聴いているときに、ユーザーがスピーカーまたはヘッドフォンを使用しているかどうかを確認する必要があります。これまでのところ、私が見つけた最高のものはisWiredHeadsetOnメソッドです。残念ながら廃止されました。ヘッドフォンが接続されているかどうかを知るより良い方法はありますか?

MediaPlayer本当の問題は、ヘッドフォンが接続されているときに音量を下げるにはどうすればよいかということです。再生開始時 (つまり、ブール チェックを介して) および再生中 (つまり、イベントを介して)?

4

1 に答える 1

0

回答に役立ち、SOがコメントに変換されると思うので、リンクを投稿しました。次のコードはからのものであり、私は信用しません。彼らはプラグを抜いたヘッドフォンを聞くためにそれを使用しますが、あなたが求めているものについても同じ概念が可能であるはずです: Headphone Jack Listener 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);
}
于 2012-06-23T09:52:26.703 に答える