[英]Stop previously played WAV sound
我正在用Java開發類似於Softphone的桌面應用程序。 我想添加撥號號碼的聲音(DTMF)。 例如,當我撥51,它起着dtmf5.wav
按5之后,但隨后它起着dtmf1.wav
當我按下1,不停止5的基調。 如何確保只播放一種聲音(最新的聲音)一次?
這是我用來播放聲音的內容:
private void lbl01MouseReleased(java.awt.event.MouseEvent evt) {
String val=txtdisplay.getText() + "1";
txtdisplay.setText(val);
if (evt.getSource() == lbl01) {
URL urlClick = StartGUI.class.getResource("/Dtmf/dtmf1.wav");
AudioClip click = Applet.newAudioClip(urlClick);
click.play();
}
}
要停止以前播放的音頻,可以在創建音頻AudioClip
保留對其的引用。 發送動作以播放剪輯后,只需調用其stop
方法即可停止上一個剪輯。
AudioClip currentAudio = null;
...
private void lbl01MouseReleased(java.awt.event.MouseEvent evt){
String val=txtdisplay.getText() +"1";
txtdisplay.setText(val);
if ( currentAudio != null ){
currentAudio.stop();
}
if (evt.getSource() == lbl01)
{
URL urlClick = StartGUI.class.getResource("/Dtmf/dtmf1.wav");
currentAudio = Applet.newAudioClip(urlClick);
currentAudio.play();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.