【问题标题】:Android: MediaPlayer - handsfree volumeAndroid:MediaPlayer - 免提音量
【发布时间】:2016-10-28 13:36:40
【问题描述】:

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

我只能通过这种方式做到这一点:

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

这很好,但是当我使用这条线时

ax.setSpeakerphoneOn(true);

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

所以我想要一种方法:

  1. 从手机的扬声器播放声音(仅限)
  2. 从蓝牙设备播放声音(仅限)
  3. 设备未连接时 - 第 1 步。

如果我使用不同的模式,它就不能正常工作 - 例如。声音可以在蓝牙设备中播放,也可以在手机扬声器中播放。

感谢您的回答。

【问题讨论】:

    标签: android audio bluetooth


    【解决方案1】:

    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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      相关资源
      最近更新 更多