【问题标题】:Disable A2DP Output on Android for TTS在 Android 上为 TTS 禁用 A2DP 输出
【发布时间】:2013-05-19 05:37:35
【问题描述】:

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

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

是否可以使用手机扬声器进行 TTS。

例如:

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

【问题讨论】:

    标签: android bluetooth text-to-speech a2dp


    【解决方案1】:

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

    编辑: 要检查此设置,请转到您的配对设备:

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

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

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

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

    【讨论】:

    • 感谢您的回答!如何更改 TTS 的“媒体设备”设置?我没有找到相应的设置项...是否可以通过编程方式断开蓝牙扬声器?
    • “通话音频”设置项在我的设备(Android 4.1.2 的 Nexus S)上不可用
    • 媒体音频是最重要的。屏幕截图来自带有 v4.1.1 的 Galaxy S3)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    相关资源
    最近更新 更多