Java 實現(xiàn)聲音播放程序
更新時間:2020年12月22日 17:18:30 作者:小星_log
這篇文章主要介紹了Java 實現(xiàn)聲音播放程序的示例代碼,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
package newpackage1; import java.applet.AudioClip; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; // 聲音播放程序 public class AudioPlayDemo extends JFrame implements ActionListener, ItemListener { boolean looping = false; //是否循環(huán)播放 String[] choics = { "chimes.wav", "start.wav" }; //聲音文件名數(shù)組 URL file1 = getClass().getResource(choics[0]); //聲音文件1 URL file2 = getClass().getResource(choics[1]); //聲音文件2 AudioClip sound1 = java.applet.Applet.newAudioClip(file1); //聲音剪輯對象1 AudioClip sound2 = java.applet.Applet.newAudioClip(file2); //聲音剪輯對象2 AudioClip chosenClip = sound1; //選擇的聲音剪輯對象 JComboBox jcbFiles = new JComboBox(choics); //文件選擇組合框 JButton playButton = new JButton("播放"); //播放按鈕 JButton loopButton = new JButton("循環(huán)播放"); //循環(huán)播放按鈕 JButton stopButton = new JButton("停止"); //停止播放按鈕 JLabel status = new JLabel("選擇播放文件"); //狀態(tài)欄標簽 JPanel controlPanel = new JPanel(); //控制面板用于包容按鈕 Container container = getContentPane(); //獲得窗口內(nèi)容窗格 public AudioPlayDemo() { //構(gòu)造器 super("聲音播放程序"); //調(diào)用父類構(gòu)造器設(shè)置窗口標題欄 jcbFiles.setSelectedIndex(0); //設(shè)置組合框選擇項 jcbFiles.addItemListener(this); //為播放按鈕添加項目監(jiān)聽器 //為播放按鈕、循環(huán)播放按鈕、停止播放按鈕添加動作監(jiān)聽器 playButton.addActionListener(this); loopButton.addActionListener(this); stopButton.addActionListener(this); stopButton.setEnabled(false); //設(shè)置停止播放按鈕不可用 //把播放按鈕、循環(huán)播放按鈕、停止播放按鈕加入控制面板 controlPanel.add(playButton); controlPanel.add(loopButton); controlPanel.add(stopButton); //把文件選擇組合框、控制面板、狀態(tài)欄標簽加入到窗口內(nèi)容窗格 container.add(jcbFiles, BorderLayout.NORTH); container.add(controlPanel, BorderLayout.CENTER); container.add(status, BorderLayout.SOUTH); setSize(300, 130); //設(shè)置窗口大小 setVisible(true); //設(shè)置窗口可視 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關(guān)閉窗口時退出程序 } //文件選擇組合框事件處理 public void itemStateChanged(ItemEvent e) { if (jcbFiles.getSelectedIndex() == 0) { chosenClip = sound1; } else { chosenClip = sound2; } } //按鈕事件處理 public void actionPerformed(ActionEvent event) { if (chosenClip == null) { status.setText("聲音未載入"); return; //如果AudioClip對象為空,則直接返回 } Object source = event.getSource(); //獲取用戶洗滌激活的按鈕 //播放按鈕事件處理 if (source == playButton) { stopButton.setEnabled(true); //設(shè)置停止播放按鈕可用 loopButton.setEnabled(true); //設(shè)置循環(huán)播放按鈕可用 chosenClip.play(); //播放選擇的聲音剪輯對象一次 status.setText("正在播放"); //設(shè)置狀態(tài)欄信息 } //循環(huán)播放按鈕事件處理 if (source == loopButton) { looping = true; chosenClip.loop(); //循環(huán)播放選擇的聲音剪輯對象 loopButton.setEnabled(false); //設(shè)置循環(huán)播放按鈕不可用 stopButton.setEnabled(true); //設(shè)置停止播放按鈕可用 status.setText("正在循環(huán)播放"); //設(shè)置狀態(tài)欄信息 } //停止播放按鈕事件處理 if (source == stopButton) { if (looping) { looping = false; chosenClip.stop(); //停止循環(huán)播放選擇的聲音剪輯對象 loopButton.setEnabled(true); //設(shè)置循環(huán)播放按鈕可用 } else { chosenClip.stop(); //停止播放選擇的聲音剪輯對象 } stopButton.setEnabled(false); //設(shè)置循環(huán)播放按鈕可用 status.setText("停止播放"); //設(shè)置狀態(tài)欄信息 } } public static void main(String s[]) { new AudioPlayDemo(); //創(chuàng)建AudioPlayDemo對象 } }
以上就是Java 實現(xiàn)聲音播放程序的詳細內(nèi)容,更多關(guān)于Java 聲音播放的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JAVA“無法驗證證書。將不執(zhí)行該應(yīng)用程序?!碧崾窘鉀Q辦法
這篇文章主要給大家介紹了關(guān)于JAVA“無法驗證證書,將不執(zhí)行該應(yīng)用程序”提示的解決辦法,要解決Java無法驗證證書的問題,可以嘗試下本文的方法,需要的朋友可以參考下2024-03-03spring mail借助qq郵箱服務(wù)器發(fā)送郵件
這篇文章主要介紹了spring mail借助qq郵箱服務(wù)器發(fā)送郵件的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12Spring Boot使用Spring的異步線程池的實現(xiàn)
這篇文章主要介紹了Spring Boot使用Spring的異步線程池的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02解決java maven項目找不到j(luò)console-1.8.0.jar和tools-1.8.0.jar包問題
這篇文章主要介紹了解決java maven項目找不到j(luò)console-1.8.0.jar和tools-1.8.0.jar包問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08