Android 音频通过蓝牙 sco 开始播放速度很慢

pet*_*non 5 audio android bluetooth text-to-speech bluetooth-sco

我正在开发一个应用程序,可以通过蓝牙 SCO 播放 TextToSpeech 音频。连接到目标蓝牙设备(汽车立体声),然后指示 TextToSpeech 引擎说话后,即使我在通过 SCO 连接和播放 TextToSpeech 之间等待了几秒钟,也需要大约 15 秒才能开始播放音频。

这是我用来通过 SCO 连接的代码:

AudioManager audioM = (AudioManager) getApplicationContext().getSystemService(getApplicationContext().AUDIO_SERVICE);
audioM.setMode(audioM.MODE_IN_COMMUNICATION);
audioM.setBluetoothScoOn(true);
audioM.startBluetoothSco();
audioM.setSpeakerphoneOn(false);
Run Code Online (Sandbox Code Playgroud)

这是我用来播放 TextToSpeech 的代码:

String text = "Lorem Ipsum is simply dummy text of the printing and typesetting industry.";
HashMap<String, String> ttsParams = new HashMap<String, String>();
ttsParams.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_VOICE_CALL));
mTts.speak(text, TextToSpeech.QUEUE_FLUSH, ttsParams);
Run Code Online (Sandbox Code Playgroud)

其他 Android 应用程序(包括 VOIP 和内置电话应用程序)不会受到此延迟的影响。我创建的一个等效的 iOS 应用程序没有延迟。所以我知道问题不在于立体声。

任何帮助将不胜感激,谢谢

pet*_*non 2

事实证明,这个问题是我正在测试的低端设备特有的。我尝试过的所有其他设备都会立即播放。