每当我尝试将 a 转换File
为 JavaFxMedia
时,它都会尝试使路径相对,这是我不想要的。我正在使用 Mac。
这是我的代码:
static String AUDIO_URL_TO_TEST = "file://Users/Mike/Desktop/calb.mp3";
basicTime.getAudioOutput().setSource(new File(AUDIO_URL_TO_TEST));
我已经为 AUDIO_URL_TO_TEST 尝试了几乎所有方法,例如:
static String AUDIO_URL_TO_TEST = "file:///Users/Mike/Desktop/calb.mp3";
static String AUDIO_URL_TO_TEST = "file:/c:/Users/Mike/Desktop/calb.mp3";
static String AUDIO_URL_TO_TEST = "/Users/Mike/Desktop/calb.mp3";
static String AUDIO_URL_TO_TEST = "~/Users/Mike/Desktop/calb.mp3";
这是setSource()
调用的代码:
Media m = new Media(source.getAbsoluteFile().toURI().toURL().toString());
player = new MediaPlayer(m);
媒体最终是这样的:/path/to/eclipse/directory/file://Users/Mike/Desktop/Calb.mp3
,试图使其相对。
我尝试过除 之外source.getAbsoluteFile().toURI().toURL().toString()
的其他东西,但运气也一样。
一个附带问题:为什么Media
类只接受字符串?这似乎是一个可怕的设计。字符串旨在包含文本,而不是参考文件。