2011-07-21 7 views
1

私は音声合成装置が話し始めたとき(特に、Googleナビゲーションアプリが指示を出したとき)に一時停止したいAndroid MediaPlayerを実行しています。私はこれが可能であると確信しています。標準の音楽プレーヤーがこのような動作をしているようです。合成音声のAndroid MediaPlayerを一時停止する

は、私はすでに携帯電話の通話中のMediaPlayerを一時停止する方法(スタックオーバーフロー神から)学んだ:

Pause music player on a phone call and again resume it after phone call in android

私は同様のメカニズムを見つけることができていないことを驚いています音声シンセサイザーからイベントを聴くことができます。私は何かを逃してしまったと思うし、もし誰かが私をリンク先に指し示すことができたり、ここでの答えを示唆することができたとしても、私は最も感謝しています。

答えて

1

私はこのために答えを見つけた:「通知」のストリームを使用して、オーディオフォーカス用

http://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html

ナビゲーションアプリコールを。自分のアプリケーションでそのストリーム(および音楽ストリーム)のオーディオフォーカスを要求しました。オーディオフォーカスの変更のためのコールバックメソッドでプレーヤーを一時停止/再起動すると、あなたは良いです。

注:これは、すべて合成音声では機能しません。音声合成設定メニューのテストボタンを使って試してみましたが、それはコールバックを起動しません。これは、「競合する」アプリケーションが、適切なストリームのオーディオフォーカスを要求するのに十分なほど優れている場合にのみ機能します。

関連する問題