簡體   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