当电话铃声响起,收到短信如何暂停音乐等? [英] How to pause music when phone rings, sms is received, etc?
问题描述
我试图探测机器人的声音,并暂停我的应用程序的音乐(暂时或永久),而他们制造噪音。
I'm trying to detect android sounds and pause my app's music (temporarily or permanently) while they make noise.
这code显得无能为力(停止的暂停音乐和 P 的写入日志),它永远不会被调用:
This code appears to do nothing (stop pauses the music and p writes to the log), it never gets called:
public class PollyPrissyPants extends Activity implements OnAudioFocusChangeListener {
// Blah blah blah
public void onAudioFocusChange(int mal) {
p("--CHANGE!!!--" + mal);
stop();
}
// Yada yada yada
}
我必须将其设置在其他地方呢?是@覆盖相关?
Do I have to set it up somewhere else as well? Is @Override relevant?
我还没有试过PhoneStateListener但如果可能,我不希望有单独对待电话,报警,通知,游戏等。我使用了震动,但现在它吮吸作为解决方案。如果我叫,我来回答,然后迅速得到我的应用程序,并暂停。
I haven't tried PhoneStateListener but if possible I don't want to have to treat phone calls, alarms, notifications, games, etc separately. I'm using vibrate for now but it sucks as a solution. If I get called, I have to answer and then quickly get to my app and pause it.
推荐答案
您必须注册 OnAudioFocusListener
与 AudioManager
:
audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audio.requestAudioFocus(this,
AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
的这个
参数是实施 OnAudioFocusListener
类的引用。
The this
parameter is a reference to the class implementing OnAudioFocusListener
.
这篇关于当电话铃声响起,收到短信如何暂停音乐等?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!