我有一个连接到 A2DP 立体声扬声器的 Android 4.1 设备。
我的应用程序使用 TTS(文本转语音)和 AudioTrack 类将自定义声音流式传输到扬声器。
是否可以将电话扬声器用于 TTS。
例如:
- 声音正在流式传输到 A2DP 设备
- 停止声音输出
- 切换到手机扬声器
- 启动 TTS
- 切换回 A2DP
- 重新开始直播
我有一个连接到 A2DP 立体声扬声器的 Android 4.1 设备。
我的应用程序使用 TTS(文本转语音)和 AudioTrack 类将自定义声音流式传输到扬声器。
是否可以将电话扬声器用于 TTS。
例如:
根据我的经验,我认为这是不可行的。如果您只想连接任何蓝牙设备并让手机的扬声器用于 TTS,这可以通过更改蓝牙设备配对中的“媒体设备”设置轻松完成。我认为无法以编程方式更改此设置。
编辑:要检查此设置,请转到您的配对设备:
如果您单击特定设备旁边的小齿轮,您将看到此选项(媒体音频)
当您想断开连接时,只需关闭蓝牙套接字并关闭流。就像是:
if (streamInput != null)
{
streamInput.close();
streamInput = null;
}
if (streamOutput != null)
{
streamOutput.close();
streamOutput = null;
}
if (bluetoothSocket != null)
{
bluetoothSocket.close();
bluetoothSocket = null;
}
(这将关闭连接 - 设备将保持配对状态。如果您想禁用蓝牙,只需执行一个bluetoothAdapter.disable();
)