TTS通过蓝牙问题

时间:2014-05-08 14:39:14

标签: android bluetooth text-to-speech android-4.4-kitkat

这是问题所在。当我使用下面的代码在我之前的手机上通过蓝牙读取消息时,我的手机正确读取(Galaxy S3)。我已经升级到HTC One(M8),这不再适用于蓝牙。奇怪的是,当我点击谷歌现在按钮时,它将正确地通过蓝牙收听。所以我的问题是,是否有人知道通过蓝牙使用Google即时收听功能的代码。就像我之前说过的,下面的代码已经在大多数设备上工作,所以Kit Kat上有些变化。如果可以,请帮忙。

am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_CALL);
am.setBluetoothScoOn(true);
am.startBluetoothSco();

2 个答案:

答案 0 :(得分:0)

在Kitkat遇到同样的问题。尝试在Manifest文件中将目标操作系统更改为4.3,然后在Kitkat设备上运行它,它对我有用。

答案 1 :(得分:0)

我遇到了同样的问题。要构建上一个答案,目标操作系统需要为17或更低。特别是JELLY_BEAN_MR1或以下(又名Android 4.2,4.2.2)。 Android APK 18及更高版本由于此问题而无法正常工作。

我认为这与AudioManager.startBluetoothSco的文档中的以下内容有关:

  

注意:直到并包括API版本JELLY_BEAN_MR1,此方法启动虚拟   语音呼叫蓝牙耳机。 API版本之后JELLY_BEAN_MR2只有原始的SCO音频   建立联系。

     

流类型必须为STREAM_VOICE_CALL   格式必须是单声道   采样必须是16kHz或8kHz

     

以下限制适用于输入流:   格式必须是单声道   采样必须是8kHz