关闭android中播放音乐的所有服务
我使用Alarm manager停止在android中播放的所有音乐。但我不知道该怎么做。 在主活动源代码中关闭android中播放音乐的所有服务,android,android-activity,Android,Android Activity,我使用Alarm manager停止在android中播放的所有音乐。但我不知道该怎么做。 在主活动源代码中 Intent intent = new Intent(AlarmActivity.this, OneShotAlarm.class); PendingIntent sender = PendingIntent.getBroadcast(AlarmActivity.this, 0, intent, 0); Calendar
Intent intent = new Intent(AlarmActivity.this, OneShotAlarm.class);
PendingIntent sender = PendingIntent.getBroadcast(AlarmActivity.this,
0, intent, 0);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 5);
// Schedule the alarm!
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
和报警接收器
public class OneShotAlarm extends BroadcastReceiver
{
}您可以查看:
像这样的方法应该会奏效:
AudioManager aManager = (AudioManager)getSystemService(AUDIO_SERVICE);
aManager.setStreamMute(AudioManager.STREAM_MUSIC, true);
编辑:
有一个功能可以获取“音频焦点”:
我可以用AudioManager完成,但音量已关闭,音乐仍在播放(没有声音)。如何停止播放音乐?我可以通过audioManager设置音量静音。但我想关闭媒体播放器,因为它正在安卓系统中运行音乐(
AudioManager aManager = (AudioManager)getSystemService(AUDIO_SERVICE);
aManager.setStreamMute(AudioManager.STREAM_MUSIC, true);
public int requestAudioFocus (AudioManager.OnAudioFocusChangeListener l, int streamType, int durationHint)
AudioManager am = mContext.getSystemService(Context.AUDIO_SERVICE);
...
// Request audio focus for playback
int result = am.requestAudioFocus(afChangeListener,
// Use the music stream.
AudioManager.STREAM_MUSIC,
// Request permanent focus.
AudioManager.AUDIOFOCUS_GAIN);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
// Start playback.
}