我正在尝试检测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
的类的引用。