0

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

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

是否可以将电话扬声器用于 TTS。

例如:

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

1 回答 1

0

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

编辑:要检查此设置,请转到您的配对设备:在此处输入图像描述

如果您单击特定设备旁边的小齿轮,您将看到此选项(媒体音频)在此处输入图像描述

当您想断开连接时,只需关闭蓝牙套接字并关闭流。就像是:

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

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

于 2013-05-23T18:18:55.753 回答