繁体   English   中英

停止先前播放的WAV声音

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM