簡體   English   中英

Java聲音在Windows上不起作用,但在OS X上起作用

[英]Java sound doesn't work on Windows, but work on OS X

我在Java應用程序中播放聲音時遇到問題。 用戶收到消息時正在播放聲音。 一切都可以在OS X上運行,但在Windows上則不能。 我使用以下命令將文件放入jar:jar uf client.jar getMsgSound.wav。 我想問題出在找這個文件上。

public String soundName = "getMsgSound.wav";

public void playSound()
{
try {
    File soundFile = new File(soundName);
    AudioInputStream audioIn = AudioSystem.getAudioInputStream(soundFile);
    Clip clip = AudioSystem.getClip();
    clip.open(audioIn);
    clip.start();

    } catch (UnsupportedAudioFileException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (LineUnavailableException e) {
        e.printStackTrace();
    }
}

即使它在Mac OS上,我也不認為您可以通過這種方式從jar中讀取文件。 您可能恰好將文件放在項目中的某個位置,然后將其加載。

我剛剛進行了測試,直接讀取文件而不將其放入jar中,它適用於Mac OS和Windows。

因此,正如Greg在注釋中指出的那樣,您應該使用ClassLoader從jar文件中加載它。

有關如何使用ClassLoader加載資源的信息 ,請參見這篇文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM