我一直在追蹤這個偉大的網站多年。今天我終於決定在遇到問題時創建一個帳戶。vlcj mlr特殊字符
我的問題是相當基本的vlcj執行。我有一個程序作爲音頻播放器運行。除了我似乎無法弄清的一個問題之外,這一切都已完成。
當有人試圖在文件路徑中播放帶有'é'(e與銳角)的歌曲時,它似乎將錯誤轉化爲vlcj的系統。
例子: 我運行:
mediaPlayerComponent.getMediaPlayer().playMedia("file:///C:\\test.mp3");
//(where mediaPlayerComponentis my is my local instantiated
// EmbeddedMediaPlayerComponent)
這正常播放。但如果我運行:
mediaPlayerComponent.getMediaPlayer().playMedia("file:///C:\\é.mp3");
它不運行任何東西。
如果我調用startMedia而不是playMedia,則布爾返回值爲false。
我也試了一下沒有「文件:///」在它的面前,這並不功能改變任何事情,除非我殺程序,然後我得到一個「libdvdread」錯誤消息,例如:
libdvdread: Could not open C:\?.mp3 with libdvdcss.
因此,爲了使問題短暫的甜蜜:我如何提供正確的「MRL」,使vlcj打我的「é.mp3」。和/或哪些MediaOptions需要解析正確的編碼(我假設我的錯誤是在這裏?)
搶先抱歉不提供一個SSCCE,我不認爲這將是相關的。 謝謝你的時間。
如果你只是運行'file:/// C:\\é。mp3'直接從VLC媒體播放器,而不是你的VLCJ應用程序,它的工作?如果是這樣,那麼嘗試在文件路徑上執行URI/URL編碼,然後將其傳遞給VLCJ的playMedia() – 2012-07-17 06:31:16
我忘了提及(derp。),直接從VLC或從Winamp運行正確執行文件。重命名它,然後運行它。所以我認爲它與字符串編碼有關。 今晚晚些時候我有時間回到這個項目時,我會試試看。謝謝。 – 2012-07-18 13:31:47
我嘗試過使用latin1,UTF-8,UTF-16,Windows-1252和us-ascii對其進行編碼的各種設置。到目前爲止,我還沒有取得成功。我注意到,在使用us-ascii編碼時,該值會變爲類似值,該值是從'libdvdread'錯誤解析器返回的。 – 2012-07-20 08:50:30