在我的应用程序中,有1个主要活动,并且有许多片段被活动夸大了。
在其中一个片段中,有一个运行10秒的任务。 除此任务外,还需要播放背景音乐。
我怎样才能做到这一点?
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以使用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);
答案 1 :(得分:0)
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();
开始播放该文件,然后开始运行将在{musicStopRunnable'中执行代码的Handler
以及{{1}中的代码停止播放音乐。