0
每當我嘗試將File
轉換爲JavaFx Media
時,它會嘗試使路徑相對,這是我不想要的。我正在使用Mac。如何使非相對JavaFx'媒體'
這是我的代碼:
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
類只接受字符串?這似乎是一個可怕的設計。字符串是爲了包含文本,而不是參考文件。
出於某種原因,我的印象是'C:'是僅適用於Windows機器。 –
@MikeG,是的。 –
那麼爲什麼會在Mac上的問題? –