2016-02-01 7 views
12

Androidの場合、オーディオモードが変更されたときに通知を受ける必要があります。Android:AudioManagerの現在のモードが変更されたときに通知を受ける

この値はgetMode()で取得できますが、これはポーリングです。

私は数秒ごとにポーリングしたくありません。

私のオプションは何ですか?

(私はringerModeについて尋ねていないよので、予めご了承ください)

+0

AudioManager.RINGER_MODE_CHANGED_ACTIONをリッスンしましたか? –

+0

"ringerModeについて質問していないことに注意してください" –

答えて

3

あなたのアプリは、オーディオを再生しているpreassuming、Android OSのバージョン2.2以降を実行しているデバイスのためのAudioFocusを使用することができます。

オーディオフォーカスの変更を登録してからonAudioFocusChange(int focusChange)メソッドを聞くことができます。このようにして、オーディオモードの変更やその他のオーディオフォーカスの変更が通知されます。私はこれが役立つことを願っています

PhoneStateListenerを使用して、電話の状態の変更と対応するオーディオモードを聴くこともできます。

1

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

システムのオーディオフォーカスが更新されたときに呼び出されるコールバックインターフェースAudioManager.OnAudioFocusChangeListener

インタフェース定義。

これを設定すると、onAudioFocusChangeメソッドが使用されます。 これは、他のものの中でモードの変化を検出します。

関連する問題