4

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 アプリには遅延はありません。したがって、問題はステレオにあるのではないことはわかっています。

どんな助けでも大歓迎です、ありがとう

4

1 に答える 1

1

この問題は、私がテストしていたローエンド デバイスに固有のものであることが判明しました。私が試した他のすべてのデバイスはすぐに再生されます。

于 2017-03-14T17:02:18.427 に答える