4
只有一個Media
-class的構造函數:public Media(java.lang.String source)
看到http://docs.oracle.com/javafx/2/api/javafx/scene/media/Media.html#Media%28java.lang.String%29媒體:播放WAV文件內部的JAR
此構造得到一個URI作爲字符串。我有一個JavaFX項目,並在該項目中放置了一個WAV文件。當我將項目部署爲JAR時,我可以看到(例如使用7-Zip),WAV文件也被導出。這是沒有問題得到與
MyApplicationClass.class.getResourceAsStream("/resources/test.wav").
但內容什麼是正確的URI指部署的JAR這裏面WAV文件的Media
構造?該URI
new Media("jar:.!/resources/test.wav")
不工作。 URI "jar:resources/test.wav"
也失敗(因爲沒有對JAR文件的引用)。
有沒有人有關於正確的URI的想法?
謝謝! 'ViMu.class.getResource(「/ audio/click_track_a.wav」)toURI()。toString()'給出了一個正確的URI'jar:file:/ C:Users/oliver/Desktop/vimu.jar!audio/click_track_a .wav'和'Media'對象正確創建,因爲沒有'MEDIA UNAVAILABLE'。但通過使用'MediaPlayer'播放,我不能在這裏。使用URI'file:/ D:/ Workspace/vimu/bin/audio/click_track_a.wav'我可以在這裏。 – Vertex 2013-03-27 15:27:46
這是使用JMF: URL url = ViMu.class.getResource(「/ audio/click_track_a.wav」); URLDataSource uds = new URLDataSource(url); uds.connect(); Player player = Manager.createPlayer(uds); http://stackoverflow.com/questions/8304940/how-to-load-media-resources-from-the-classpath-in-jmf – 2013-03-27 15:46:22
好的,謝謝。我會考慮JMF,希望JavaFX'Media'將來可以接受任意的InputStream。 – Vertex 2013-03-27 17:43:27