首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vlcj特殊字符

vlcj特殊字符
EN

Stack Overflow用户
提问于 2012-07-16 15:37:44
回答 3查看 1.1K关注 0票数 4

我跟踪这个伟大的网站已经很久了。今天,当我在一个问题上陷入困境时,我终于决定创建一个帐户。

我的问题是基本的vlcj执行。我有一个程序作为一个音频播放器运行。除了一个我似乎搞不懂的问题外,一切都已经完成了。

当有人试图在文件路径中播放一首带有“e”(e和acute)的歌曲时,似乎把它翻译成了vlcj系统。

示例:我运行:

代码语言:javascript
复制
mediaPlayerComponent.getMediaPlayer().playMedia("file:///C:\\test.mp3");
  //(where mediaPlayerComponentis my is my local instantiated 
  // EmbeddedMediaPlayerComponent) 

这个弹得很好。但如果我跑了

代码语言:javascript
复制
mediaPlayerComponent.getMediaPlayer().playMedia("file:///C:\\é.mp3");

它不运行任何东西。

  • 如果我调用startMedia而不是playMedia,则布尔返回值为false。
  • 我也尝试过没有前面的'file:///‘’,这在功能上不会改变任何东西,除非我杀死程序,然后我得到'libdvdread‘错误消息,如: libdvdread:无法用libdvdcss打开C:\?.mp3。

因此,让问题简短和甜蜜:我如何提供正确的'mrl‘使vlcj播放我的'é.mp3’。和/或需要哪个MediaOptions来解析正确的编码(我假设我的错误在这里?)

先发制人的抱歉没有提供一个SSCCE,我不认为这将是相关的。谢谢您抽时间见我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-08 09:31:50

经过一段插曲之后,我终于发现了出了什么问题。最出色的是,在windows下,国际人物并没有对VLCJ进行很好的分析。加入:

代码语言:javascript
复制
<jvmarg value="-Dvlcj.log=DEBUG>

对我的蚂蚁运行脚本来说,我突然可以用电子计算机播放文件。最重要的是,JVM的解码器在初始化时已经完成。

希望这对某人有帮助:)

票数 0
EN

Stack Overflow用户

发布于 2013-08-01 17:15:16

在vlcj 2.4.0中,通过检测包含Unicode字符的本地文件名并将这些文件名转换为百分比编码的文件URL,可以透明地处理这些问题。

因此,对于当前版本的vlcj,您应该能够将包含国际字符的文件名直接传递给mediaPlayer.playMedia(.)。

票数 0
EN

Stack Overflow用户

发布于 2016-03-23 09:04:00

我在这里找到了解决办法:

https://github.com/caprica/vlcj/issues/415

这在mac和windows (vlcj-3.7.0)上都适用:

代码语言:javascript
复制
  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);
}

我这可以帮助任何人:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11507633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档