2013-08-24 63 views
1

我正在创建一个应用程序,其中必须检测音乐播放器状态,如播放,暂停,停止。如何通过使用广播接收器检测音乐播放器状态

我搜查,发现

AudioManager manager = (AudioManager) FlashLightActivity.this.getSystemService(Context.AUDIO_SERVICE); if(manager.isMusicActive()) { Toast.makeText(FlashLightActivity.this, "Music is playing..", Toast.LENGTH_LONG).show(); }else{ Toast.makeText(FlashLightActivity.this, "Music has stopped..", Toast.LENGTH_LONG).show(); }

通过使用上面的代码我不能够检测到音乐的状态,如果我的应用程序运行模式。

上面的代码会在应用程序启动时检查这个条件。我想用广播接收机来检测背景音乐的状态。

+0

可能的重复http://stackoverflow.com/questions/7323915/how-do-you-check-if-music-is-playing-by-using-a-broadcast-receiver – Kushal

回答

0

上面的代码将在应用

如果它这样做可靠,我会被击晕的开始检查此条件。没有要求任何应用程序告诉AudioManager它正在播放音乐。

我想用广播接收机来检测背景音乐的状态。

有成千上万的音乐播放器可用于Android。没有要求他们中的任何一个实施广播来告诉你音乐播放的状态。在SDK中甚至没有一些标准的广播,你可以合理地希望其中的一些玩家可以使用。

+0

感谢您的回复。我没有在我的应用程序中使用任何音乐播放器,但我想检查,音乐播放器正在播放,暂停或停止。不在我的申请开始。 –

+0

假设音乐在后台播放,我打开我的应用程序,它检测到音乐正在播放。现在,如果我暂停/停止了音乐,那么我将如何识别音乐已停止。 –

+0

@VijayArora:我在回答中涵盖了这一点。音乐播放器不需要这样的广播,并且有数千个这样的音乐播放器。欢迎您与每位音乐播放器开发者联系,并要求他们实施此类广播。 – CommonsWare