我跟踪这个伟大的网站已经很久了。今天,当我在一个问题上陷入困境时,我终于决定创建一个帐户。
我的问题是基本的vlcj执行。我有一个程序作为一个音频播放器运行。除了一个我似乎搞不懂的问题外,一切都已经完成了。
当有人试图在文件路径中播放一首带有“e”(e和acute)的歌曲时,似乎把它翻译成了vlcj系统。
示例:我运行:
mediaPlayerComponent.getMediaPlayer().playMedia("file:///C:\\test.mp3");
//(where mediaPlayerComponentis my is my local instantiated
// EmbeddedMediaPlayerComponent) 这个弹得很好。但如果我跑了
mediaPlayerComponent.getMediaPlayer().playMedia("file:///C:\\é.mp3");它不运行任何东西。
因此,让问题简短和甜蜜:我如何提供正确的'mrl‘使vlcj播放我的'é.mp3’。和/或需要哪个MediaOptions来解析正确的编码(我假设我的错误在这里?)
先发制人的抱歉没有提供一个SSCCE,我不认为这将是相关的。谢谢您抽时间见我。
发布于 2012-08-08 09:31:50
经过一段插曲之后,我终于发现了出了什么问题。最出色的是,在windows下,国际人物并没有对VLCJ进行很好的分析。加入:
<jvmarg value="-Dvlcj.log=DEBUG>对我的蚂蚁运行脚本来说,我突然可以用电子计算机播放文件。最重要的是,JVM的解码器在初始化时已经完成。
希望这对某人有帮助:)
发布于 2013-08-01 17:15:16
在vlcj 2.4.0中,通过检测包含Unicode字符的本地文件名并将这些文件名转换为百分比编码的文件URL,可以透明地处理这些问题。
因此,对于当前版本的vlcj,您应该能够将包含国际字符的文件名直接传递给mediaPlayer.playMedia(.)。
发布于 2016-03-23 09:04:00
我在这里找到了解决办法:
https://github.com/caprica/vlcj/issues/415
这在mac和windows (vlcj-3.7.0)上都适用:
public void play(String mrlPathFile) {
// URI encode for avoid non ascii character problem in windows!!!
mrlPathFile = new File(mrlPathFile).toURI().toASCIIString().replace("file:/", "file:///");
mediaPlayer.playMedia(mrlPathFile);
}我这可以帮助任何人:)
https://stackoverflow.com/questions/11507633
复制相似问题