如何在手机铃声、收到短信等情况下暂停音乐



我正在尝试检测android声音,并在它们发出噪音时暂停我的应用程序的音乐(暂时或永久(。

此代码似乎什么都不做(stop暂停音乐,p写入日志(,它从未被调用:

public class PollyPrissyPants extends Activity implements OnAudioFocusChangeListener {
    // Blah blah blah
    public void onAudioFocusChange(int mal) {
        p("--CHANGE!!!--" + mal);
        stop();
    }
    // Yada yada yada
}

我也必须把它设置在其他地方吗?@Override是否相关?

我还没有尝试过PhoneStateListener,但如果可能的话,我不想把电话、警报、通知、游戏等分开处理。我现在使用振动,但它作为一种解决方案很糟糕。如果我接到电话,我必须接听,然后快速进入我的应用程序并暂停它。

您必须向AudioManager:注册OnAudioFocusListener

audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audio.requestAudioFocus(this,
      AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);

this参数是对实现OnAudioFocusListener的类的引用。

最新更新