我一直在跟踪这个伟大的网站。今天我终于决定在遇到问题时创建一个帐户。
我的问题是基本的vlcj执行。我有一个作为音频播放器运行的程序。除了一个我似乎无法弄清楚的问题之外,所有这一切都已完成。
当有人试图在文件路径中播放带有'é'(e with acute)的歌曲时,它似乎将错误转换为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。
我也试过没有前面的'file:///',这并没有在功能上改变一个东西,除非我杀了程序,然后我得到一个'libdvdread'错误消息,如:
libdvdread: Could not open C:\?.mp3 with libdvdcss.
因此,为了使问题简短而甜蜜:我如何提供正确的'mrl'以使vlcj播放我的'é.mp3'。和/或需要哪些MediaOptions来解析正确的编码(我假设我的错误在这里?)
对于没有提供SSCCE,我们认为这是不相关的。 谢谢你的时间。
答案 0 :(得分:0)
<jvmarg value="-Dvlcj.log=DEBUG>
到我的ANT运行脚本,我突然可以播放带有e-acute的文件。看起来JVM的解码器在初始化时已经完成。
希望这有助于某人: - )
答案 1 :(得分:0)
通过检测包含Unicode字符的本地文件名并将这些文件名转换为百分比编码的文件URL,可以在vlcj 2.4.0中透明地处理。
因此,对于当前版本的vlcj,您应该只需将包含国际字符的文件名直接传递给mediaPlayer.playMedia(...)。
答案 2 :(得分:0)
我在这里找到了解决方案:
https://github.com/caprica/vlcj/issues/415
这对我在Mac和Windows上的工作(vlcj-3.7.0):
jQuery(document).ready(function(){
var $sign = jQuery('#input_2_204_data');
$sign.change(function() {
if($sign.val() != '') {
alert( "Handler for .change() called." );
}
});
});
我可以帮助任何人:)