Звук Android медленно начинает играть через Bluetooth Sco

Я разрабатываю приложение, которое будет воспроизводить аудио TextToSpeech через Bluetooth SCO. После подключения к целевому устройству Bluetooth (автомобильная стереосистема) и последующего инструктирования движка TextToSpeech произойдет воспроизведение звука в течение примерно 15 секунд, даже если я подожду несколько секунд между подключением через SCO и воспроизведением TextToSpeech.

Вот код, который я использую для подключения через SCO:

AudioManager audioM = (AudioManager) getApplicationContext().getSystemService(getApplicationContext().AUDIO_SERVICE);
audioM.setMode(audioM.MODE_IN_COMMUNICATION);
audioM.setBluetoothScoOn(true);
audioM.startBluetoothSco();
audioM.setSpeakerphoneOn(false);

Вот код, который я использую для воспроизведения 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);

Другие приложения для Android (включая VOIP и встроенное приложение телефонии) не страдают от этой задержки. Эквивалентное приложение для iOS, которое я создал, не имеет задержки. Так что я знаю, что проблема не в стерео.

Любая помощь будет принята с благодарностью, спасибо

1 ответ

Решение

Оказывается, проблема была специфична для младшего устройства, с которым я тестировал. Все остальные устройства, которые я пробовал играть сразу.

Другие вопросы по тегам