1

Android アプリケーションに Text to Speech 機能を実装しています。Text to Speech がデフォルト ストリームとして STREAM_MUSIC を使用することはわかっています。Text to Speech を呼び出すと、予想される音量で話されます。しかし、デバイスで進行中の通話がある場合に Text to Speech を呼び出すと、音声の音量が小さくなるのではないかと思っています。私はそれがどのように起こっているのか理解していません。通話は AudioManager.STREAM_VOICE_CALL を使用します。AudioManager.STREAM_MUSIC の音量に影響しますか?

電話で通話中の場合でも、デフォルトの音量でスピーチを再生したいと考えています。

これらのAudioManagerストリームがどのように、どのように影響するかを理解するために私を導いてください。

これが私のテキストから音声への呼び出し方法です

 private void speakMessage(String audibleString){
            tTts.speak(audibleString, TextToSpeech.QUEUE_ADD, null);
    }

前もって感謝します

4

1 に答える 1

0

あなたが経験していることは、オーディオ ダッキングと呼ばれます。これは、別のオーディオ ソースがフォーカスを取得したときに、OS (場合によっては別のアプリ) によって自動的に実行される操作です(ビューがフォーカスを取得する方法と同様)。一度にフォーカスできるオーディオ ソースは 1 つだけです。別のオーディオ ソースがフォーカスを取得すると、現在のオーディオ ソースはダッキング(静音化)、一時停止、またはそのままにしておくことができます。を使用して、 requestAudioFocus()でフォーカスAudioManagerをリクエストすることができます。STREAM_MUSIC

編集:オーディオフォーカスに関する追加情報。

于 2015-05-30T12:29:24.980 に答える