禁用Android上用于TTS的A2DP输出

禁用Android上用于TTS的A2DP输出,android,bluetooth,text-to-speech,a2dp,Android,Bluetooth,Text To Speech,A2dp,我有一个安卓4.1设备,连接到A2DP立体声扬声器 我的应用程序使用TTS(文本到语音)和AudioTrack类将自定义声音传输到扬声器 是否可以将电话扬声器用于TTS 对于exmaple: 声音流到A2DP设备 停止声音输出 切换到电话扬声器 启动TTS 切换回A2DP 重新启动流 根据我的经验,我认为这是不可行的。如果您只想连接任何蓝牙设备并将手机的扬声器用于TTS,可以通过更改蓝牙设备配对中的“媒体设备”设置轻松完成。以编程方式更改此设置我认为无法完成。 编辑: 要检查此设置,请转到配对设

我有一个安卓4.1设备,连接到A2DP立体声扬声器

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

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

对于exmaple:

  • 声音流到A2DP设备
  • 停止声音输出
  • 切换到电话扬声器
  • 启动TTS
  • 切换回A2DP
  • 重新启动流

  • 根据我的经验,我认为这是不可行的。如果您只想连接任何蓝牙设备并将手机的扬声器用于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的“媒体设备”设置?我找不到该项的设置项。。。是否可以通过编程方式断开蓝牙扬声器的连接?我的设备上没有“呼叫音频”设置项(Nexus S搭载Android 4.1.2)。媒体音频才是最重要的。屏幕截图来自Galaxy S3和v4.1.1)