2016-10-28 8 views
1

Bluetoothデバイスへのオーディオの再生を手動で無効/有効にしようとしています(車内でのハンズフリー)。だから、MediaPlayerを電話機のスピーカーからのみ再生するように設定するか、スピーカーのBluetoothデバイスのみを使用する必要があります。もちろん、Bluetoothデバイスが接続されている場合は必要です。Android:MediaPlayer - ハンズフリーの音量

私が唯一、このようにそれを行うために管理:

AudioManager ax = (AudioManager) getSystemService(AUDIO_SERVICE); 
player.setAudioStreamType(AudioManager.MODE_NORMAL); 
ax.setMode(AudioManager.MODE_NORMAL); 

これは素晴らしい作品が、私は、この行に「偽」を使用していたとき、私は

ax.setSpeakerphoneOn(true); 

このラインを使用するときだけで、話し手は静かであり、私はそれを望んでいません(しかし、それ以外のものはすべてそれがすべきです、ちょうど音が静かです)。

ので、私は道にしたい:携帯電話でのスピーカーから

  1. 再生音Bluetoothデバイスのデバイスが接続されていない(のみ)
  2. から(のみ)
  3. 再生音 - ステップ1.

異なるモードを使用している場合、正しく動作しません。サウンドは、intブルートゥースデバイスだけでなく、電話スピーカーを再生します。

お返事ありがとうございます。

答えて

0

OPA!

if(ONLY_PHONE_SPEAKER) 
{ 
    ax.setStreamVolume(AudioManager.MODE_NORMAL, 20, 0); 
    player.setAudioStreamType(AudioManager.MODE_NORMAL); 
    ax.setSpeakerphoneOn(true); 
} 
else 
{ 
    // BT enabled - only BT when is connected 
    // speaker - when is not connected 
    ax.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0); 
    player.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    ax.setSpeakerphoneOn(true); 
} 
関連する問題