2

TTS (Text to speech) API を利用する Android アプリケーションがあります。すべてが完全に機能していますが、アプリケーションがテキストを読み上げるときに、フェードイン/フェードアウトしたり、音楽を停止したりしたい (ユーザーが事前に構築された音楽プレーヤーで音楽を再生している場合)。現在、音楽と TTS メッセージの両方が同じストリーム (MUSIC) で再生されていると思いますが、音声メッセージを理解するのは難しい場合があります。

AudioManager.STREAM_NOTIFICATIONS などの別のストリームでテキストを再生しようとしました。音楽は止まりますが、テキストが話されても戻ってこないので、目標を達成できませんでした。まだ何も見つかっていないので、誰かがここで助けてくれることを願っています。ありがとう!

4

3 に答える 3

5

私はついに機能するものを手に入れました。完璧ではありませんが。かなり汚いトリック。それが誰かに役立つ場合に備えて:

これは、AudioManager の requestAudioFocus および abandomAudioFocus メソッドを使用する API 8 で修正されています。

ただし、以前のバージョンの場合は、これを試すことができます。別のストリーム チャネル (STREAM_NOTIFICATIONS など) を介して TTS を再生します。次に、オーディオ フォーカスを STREAM_MUSIC に戻すだけです。どうすればそれを達成できますか?. 無音文字列 (" ") を TTS に送信していますが、今回は STREAM_MUSIC を使用しています。その結果、音楽が停止し、TTS メッセージが読み上げられ、最後に音声アラートの後に音楽が戻ってきます。いいことでも誇りに思うことでもありませんが...誰かが別の方法を知っていれば、私はそれを感謝します

于 2010-06-30T21:23:33.403 に答える
0

これを達成するためTextToSpeech.OnUtteranceCompletedListenerにと一緒に使用できますか?AudioManager.setStreamVolume

于 2010-06-30T21:36:03.970 に答える