在Android上禁用TTS的A2DP输出

时间:2013-05-23 18:14:19

标签: android bluetooth text-to-speech a2dp

我有一个连接到A2DP立体声扬声器的Android 4.1设备。

我的应用使用TTS(文字转语音)和AudioTrack类将自定义声音流式传输到扬声器。

是否可以将手机扬声器用于TTS。

例如:

  1. 声音正在流式传输到A2DP设备
  2. 停止声音输出
  3. 切换到手机扬声器
  4. 启动TTS
  5. 回到A2DP
  6. 再次启动流

1 个答案:

答案 0 :(得分:0)

根据我的经验,我认为这不可行。如果您只想连接任何蓝牙设备并将手机的扬声器用于TTS,可以通过更改蓝牙设备配对中的“媒体设备”设置轻松完成。以编程方式更改此设置我认为无法完成。

编辑: 要检查此设置,请转到配对设备:enter image description here

如果您点击特定设备旁边的小齿轮,您将看到此选项(媒体音频)enter image description here

当你想断开连接时,只需关闭蓝牙插座并关闭流。类似的东西:

if (streamInput != null)
    {
        streamInput.close();
        streamInput = null;
    }
    if (streamOutput != null)
    {
        streamOutput.close();
        streamOutput = null;
    }
    if (bluetoothSocket != null)
    {
        bluetoothSocket.close();
        bluetoothSocket = null;
    }

(这将关闭连接 - 设备将保持配对。如果您想禁用蓝牙,只需执行bluetoothAdapter.disable();