Bluetooth SCO 経由で TextToSpeech オーディオを再生するアプリを開発しています。ターゲットの bluetooth デバイス (カー ステレオ) に接続し、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);
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 アプリには遅延はありません。したがって、問題はステレオにあるのではないことはわかっています。
どんな助けでも大歓迎です、ありがとう