在 android 中连续播放 mp3 文件
Play mp3 file continuously in android
我想在后台连续播放mp3文件。我的意思是如果我第一个 activity mp3 文件应该在后台启动。现在,如果我导航到第二个 activity,那么我也想连续播放文件。不应从第二 activity.
开始播放文件
MediaPlayer mediaPlayer;
mediaPlayer = MediaPlayer.create(this, R.raw.sound);
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mediaPlayer.start();
}
});
mediaPlayer.start();
只需在服务中启动它
private boolean isAppShown() {
KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
boolean locked = km.inKeyguardRestrictedInputMode();
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> l = mActivityManager
.getRunningAppProcesses();
Iterator<ActivityManager.RunningAppProcessInfo> i = l.iterator();
while (i.hasNext()) {
ActivityManager.RunningAppProcessInfo info = i.next();
if (info.uid == getApplicationInfo().uid && info.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND && !locked)
{
return true;
}
}
return false;
}
这是检查状态的方法,但现在您应该决定在哪里使用它。
给你。这是一个有效的音乐播放示例。
您必须编写后台服务才能播放音乐。
Music Player
MediaPlayer ring= MediaPlayer.create(MainActivity.this,R.raw.alertsound);
ring.setLooping(true);
ring.start();
我想在后台连续播放mp3文件。我的意思是如果我第一个 activity mp3 文件应该在后台启动。现在,如果我导航到第二个 activity,那么我也想连续播放文件。不应从第二 activity.
开始播放文件MediaPlayer mediaPlayer;
mediaPlayer = MediaPlayer.create(this, R.raw.sound);
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mediaPlayer.start();
}
});
mediaPlayer.start();
只需在服务中启动它
private boolean isAppShown() {
KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
boolean locked = km.inKeyguardRestrictedInputMode();
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> l = mActivityManager
.getRunningAppProcesses();
Iterator<ActivityManager.RunningAppProcessInfo> i = l.iterator();
while (i.hasNext()) {
ActivityManager.RunningAppProcessInfo info = i.next();
if (info.uid == getApplicationInfo().uid && info.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND && !locked)
{
return true;
}
}
return false;
}
这是检查状态的方法,但现在您应该决定在哪里使用它。
给你。这是一个有效的音乐播放示例。 您必须编写后台服务才能播放音乐。 Music Player
MediaPlayer ring= MediaPlayer.create(MainActivity.this,R.raw.alertsound);
ring.setLooping(true);
ring.start();