Android:MediaPlayer - 免提卷

时间:2016-10-28 13:36:41

标签: android audio bluetooth

我正在尝试手动禁用/启用音频到蓝牙设备的播放(车内免提)。所以我需要将MediaPlayer设置为仅通过手机上的扬声器播放或仅使用扬声器蓝牙设备播放 - 但当然连接蓝牙设备时 - 如果没有,我想使用手机扬声器。

我设法只这样做了:

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

这很有用,但就在我使用这一行时

ax.setSpeakerphoneOn(true);

当我在这条线路上使用“假”时,扬声器是安静的,我不希望这样(但其他一切都按原样工作,只是声音很安静)。

所以我想要一种方法:

  1. 播放手机中扬声器的声音(仅限)
  2. 播放来自蓝牙设备的声音(仅限)
  3. 设备未连接时 - 步骤1.
  4. 如果我使用不同的模式,它将无法正常工作 - 例如。声音播放蓝牙设备,还有手机扬声器。

    感谢您的回答。

1 个答案:

答案 0 :(得分: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);
}