2012-02-12 161 views
0

我真的很希望你能帮助我。下面是我的代码的一部分,并行成功地运行两个倒计时定时器...我想要做的就是当倒计时结束时播放一个短的MP3文件....我已经尝试了很多不同的代码位,但我我在努力做什么工作......一个快速取胜将是一件好事..倒计时播放闹钟

所以围捕两个定时器每个需要播放声音完成后..提前

//Declare Start/Stop button 
Button btnstart = (Button)findViewById(R.id.btnstart); 
Button Button1 = (Button)findViewById(R.id.Button01); 

final TextView mCounter1TextField=(TextView)findViewById(R.id.counter1); 
final TextView mCounter2TextField=(TextView)findViewById(R.id.counter2); 

//Counter 1 
final CountDownTimer Counter1 = new CountDownTimer(9000000 , 1000) { 
public void onTick(long millisUntilFinished) { 
    mCounter1TextField.setText(" " + formatTime(millisUntilFinished)); 
} 

public void onFinish() { 
    start(); 
} 

}; 

//Counter 2 
final CountDownTimer counter2 = new CountDownTimer(9000000 , 1000) { 
public void onTick(long millisUntilFinished) { 
    mCounter2TextField.setText(" " + formatTime(millisUntilFinished)); 

} 

public void onFinish() { 
    start(); 
} 


}; 

//Start Button1 
btnstart.setOnClickListener(new OnClickListener() { 
public void onClick(View v) { 
    Counter1.start(); 

    } 
}); 

//Start Button2 
Button1.setOnClickListener(new OnClickListener() { 
public void onClick(View v) { 
counter2.start(); 

感谢

Dj

回答

2

我假设start()是你的功能打电话来播放声音吧?

所以start()的定义中,把下面的代码:

MediaPlayer mp = MediaPlayer.create(getBaseContext(), sound); //replace 'sound' by your music/sound 
mp.start(); 

希望这有助于!

编辑:想成为超清晰:)

某处在你的代码,它写的是:

public void onFinish() { 
    start(); 
} 

这个方法/函数被调用计数器完成时。 这个函数里面写着'start()'

我不知道这个start()是干什么的。

在这两种情况下,我建议你把它(如果它不产生错误),和start()后,添加playSound()两个onFinish()方法里面。

,然后写这个功能之外,以下内容:

public void playSound() { 

MediaPlayer mp = MediaPlayer.create(getBaseContext(), sound); //replace 'sound' by your music/sound 
mp.start(); 

} 
+0

开始的定义中()?可以扩大一点我很新的编码:)谢谢 – Djorn 2012-02-12 12:35:28

+0

我编辑和扩大我的答案很多给你:P阅读它,如果你仍然不明白,我很乐意向你解释更多,只是告诉我什么你不明白 – Karim 2012-02-12 12:47:39

+0

老兄非常感谢 – Djorn 2012-02-12 12:57:06