簡體   English   中英

如何在Netbeans之外播放.wav或.mid文件?

[英]How do I get a .wav or a .mid file to play outside of netbeans?

我為測試游戲創建了一個簡單的登錄屏幕,它播放.mid音樂調。 將鼠標懸停在按鈕上時,將播放.wav聲音。 當我構建+編譯程序時,兩種聲音都在netbeans中播放。 當我在netbeans之外運行.jar文件時,它不起作用。 有什么建議么...

PS聲音位於src文件夾中的一個文件夾中,稱為資源。 對於.mid音樂,我使用序列,對於.wav,我使用AudioInputStream等。

您很可能試圖將應用程序資源當作File來訪問。 應用程序資源通常位於Jar文件中,並且必須通過URL進行訪問。 要形成URL,請使用類似以下內容的內容:

URL urlToMid = this.getClass().getResource("the.mid");

如果不是這種情況,那么下一個最可能的問題是該資源未包含在Jar中。

沒有代碼示例,很難為您提供幫助。 你有例外嗎?

我的猜測是,在NetBeans之外運行時,您的應用程序找不到音樂文件。 從NetBeans運行時,必須將主目錄設置為某個值(可能指向src / resource文件夾),但是在NetBeans外部運行時,您可以指定其他主目錄(或根本不指定)。

如果文件包含在生成的.jar文件,另一個可能的問題是區分大小寫。 如果文件是從常規文件系統(例如從NetBeans內部)中加載的,則文件名是否區分大小寫取決於您操作系統的文件系統。 在Windows上不是。

一旦文件被通過一個類加載器加載(例如,使用的getResource()),文件名是大小寫敏感的Alert.wav是一個不同的文件比alert.wav

確保源代碼中的文件名與文件系統中出現的文件名完全相同

暫無
暫無

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

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