[英]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.