如何使用广播接收器检查音乐是否正在播放?

Ema*_*een 11 android background-music broadcastreceiver audio-player android-music-player

我想阻止我的一些代码在当前播放音乐或视频时执行.我如何使用广播接收器实现这一目标?

Don*_*Gru 43

你不需要广播接收器 - AudioManager是你的朋友:

AudioManager.isMusicActive()做你想做的工作,仔细看看这里的细节:AudioManager

这是一个例子:

AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
if(manager.isMusicActive())
 {
     // do something - or do it not
 }
Run Code Online (Sandbox Code Playgroud)

  • 有没有办法检测音乐的细节呢?歌名; 艺术家等? (6认同)
  • 嗨马丁,我发现了错误发生的原因.我需要在getSystemService之前添加关键字:context并且它有效.真的,Emad (3认同)
  • 我不知道为什么,但在我的情况下 _manager.isMusicActive()_ 即使没有活动的音乐播放器也总是正确的。 (2认同)