onfocuschangelistener没有响应所有音频管理器更改

时间:2012-05-28 12:56:09

标签: android audio onchange

我在以下链接how to know when audio is started playing in android中提出了一个问题 我得到了一个完美的答案。我附上了它的代码。现在我的问题是,当音乐开始播放时,音频焦点会丢失。和我的onfocuschange监听器没有响应音频管理器中的更改。我的代码有什么问题吗?因此,我可以在音频管理器中收听所有更改(开始,暂停,停止)。谢谢你的帮助。

我在服务类中实现了它。

am = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE);

    am.getMode();

      afChangeListener = new OnAudioFocusChangeListener() {


            public void onAudioFocusChange(int focusChange) {
                Log.d("new","focus: " +focusChange+"mode "+am.getMode() +"ismusic "+am.isMusicActive());


                if (focusChange == AudioManager.AUDIOFOCUS_GAIN_TRANSIENT){
                    Log.d("new","focus:started trans " );

                }else if (focusChange == AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK){
                    Log.d("new","focus:started duck " );

                }

            else if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT){
                   Log.d("new","focus:paused  " );
            } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
                Log.d("new","focus:started " );
                } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
                    Log.d("new","focus:stoped  " );
                   // am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
                   // am.abandonAudioFocus(afChangeListener);
                    // Stop playback
                }
            }
        };

0 个答案:

没有答案