在 Android 中使用计时器播放背景音乐
Play background music using timer in Android
在我的应用程序中,有 1 个主要 activity 并且有许多片段被 activity 膨胀。
在其中一个片段中,有一个任务运行了 10 秒。
与此任务一起,需要在此期间播放背景音乐。
我怎样才能做到这一点?
任何帮助将不胜感激。
您可以使用MediaPlayer播放音乐如下
MediaPlayer mp = MediaPlayer.create(this, idSong);
mp.start();
您可以使用定时器在 10 秒后停止播放音乐
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
mp.pause();
}
}, 10000);
private void startEverything() {
startMyAnimation();
playMusic()
}
private void startMyAnimation() {
ObjectAnimator progressAnimator = ObjectAnimator.ofInt(mProgress, "progress", 0, 10000);
progressAnimator.setDuration(10000);
progressAnimator.setInterpolator(new LinearInterpolator());
progressAnimator.start();
}
private void playMusic() {
final MediaPlayer soundPlayer= MediaPlayer.create(getContext(), R.raw.your_bgm);
soundPlayer.start();
Handler musicStopHandler = new Handler();
Runnable musicStopRunable = new Runnable() {
@Override
public void run() {
soundPlayer.stop();
}
};
musicStopHandler.postDelayed(musicStopRunable, 10000);
}
这里发生的事情是,您通过调用 startMyAnimation()
启动动画,然后调用 playMusic()
播放音乐。
在 playMusic()
中,您通过调用 soundPlayer.start();
开始播放文件,然后启动 运行 一个 Handler
将执行 'musicStopRunnable' 中的代码和 musicStopRunnable
中的代码停止播放音乐。
参考:
在我的应用程序中,有 1 个主要 activity 并且有许多片段被 activity 膨胀。
在其中一个片段中,有一个任务运行了 10 秒。 与此任务一起,需要在此期间播放背景音乐。
我怎样才能做到这一点?
任何帮助将不胜感激。
您可以使用MediaPlayer播放音乐如下
MediaPlayer mp = MediaPlayer.create(this, idSong);
mp.start();
您可以使用定时器在 10 秒后停止播放音乐
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
mp.pause();
}
}, 10000);
private void startEverything() {
startMyAnimation();
playMusic()
}
private void startMyAnimation() {
ObjectAnimator progressAnimator = ObjectAnimator.ofInt(mProgress, "progress", 0, 10000);
progressAnimator.setDuration(10000);
progressAnimator.setInterpolator(new LinearInterpolator());
progressAnimator.start();
}
private void playMusic() {
final MediaPlayer soundPlayer= MediaPlayer.create(getContext(), R.raw.your_bgm);
soundPlayer.start();
Handler musicStopHandler = new Handler();
Runnable musicStopRunable = new Runnable() {
@Override
public void run() {
soundPlayer.stop();
}
};
musicStopHandler.postDelayed(musicStopRunable, 10000);
}
这里发生的事情是,您通过调用 startMyAnimation()
启动动画,然后调用 playMusic()
播放音乐。
在 playMusic()
中,您通过调用 soundPlayer.start();
开始播放文件,然后启动 运行 一个 Handler
将执行 'musicStopRunnable' 中的代码和 musicStopRunnable
中的代码停止播放音乐。
参考: