亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓JAR文件中的音頻播放?

如何讓JAR文件中的音頻播放?

一只名叫tom的貓 2023-05-17 17:31:11
我是 Java 編程的新手,當我將我的 Java 項目導出到可運行的 JAR 文件時,我試圖讓音頻播放,但是當它嘗試將音頻文件作為 JAR 訪問時,我總是收到錯誤消息。我已經嘗試了兩種不同的方式來播放音頻(一種被評論,另一種沒有)。它們都在編譯器中工作。未注釋的在 JAR 文件中給我錯誤,而注釋的甚至不會運行 JAR 文件!InputStream in;AudioStream as;public void PlayMusic(boolean a){    try     {        if (a == false)        {            AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(this.getClass().getResourceAsStream("./lose.wav"));            Clip clip = AudioSystem.getClip();            clip.open(audioInputStream);            clip.start();            /*in = getClass().getResourceAsStream("/connectfour/lose.wav");            as = new AudioStream (in);            AudioPlayer.player.start(as);*/        }        else        {            AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(this.getClass().getResourceAsStream("./win.wav"));            Clip clip = AudioSystem.getClip();            clip.open(audioInputStream);            clip.start();            /*in = getClass().getResourceAsStream("/connectfour/win.wav");            as = new AudioStream (in);            AudioPlayer.player.start(as);*/        }    }    catch (Exception e)    {        JOptionPane.showMessageDialog(null, "Error");    }}考慮到文件在編譯器中工作得很好,但在 JAR 中卻沒有,我想我可能會錯誤地訪問這些文件。編輯:已解決。我發現了有關使用 url 的信息,因為它們可以處理 jar 文件。
查看完整描述

1 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

嘗試:


 AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("./lose.wav"));

 Clip clip = AudioSystem.getClip();

 clip.open(audioInputStream);

 clip.start();

其中“./lose.wav”是音頻文件相對于 JAR 文件的位置(而不是相對于主類或 src 文件夾)。


查看完整回答
反對 回復 2023-05-17
  • 1 回答
  • 0 關注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號