目前我正在编写一些基于 VLCJ 的代码来播放媒体内容。
我专注于字幕轨道,我想添加功能来修改正在播放的字幕的字体名称、大小和颜色。有没有办法让这个功能工作?
你知道在未来的 vlcj 版本中是否会添加这个功能?
提前非常感谢。问候。
LibVLC 中没有 API 来设置字幕属性,因此 vlcj 中也没有 API 可以做到这一点。
要查看如何在 VLC 中更改字幕属性,请转到命令行/shell 并键入:
vlc -H
然后在该输出中搜索“freetype”,您会看到一大堆用于设置字幕属性的开关,例如
--freetype-font
--freetype-fontsize
--freetype-opacity
--freetype-color
...等等。
有两种方法可以将这些命令行开关与 LibVLC/vlcj 一起使用,使用哪种方法取决于特定的选项。如果它不能以一种方式工作,请尝试另一种方式。
任何一个:
MediaPlayerFactory
您将开关作为参数传递;或者mediaPlayer.playMedia(mrl, options)
您将开关作为选项传递。所以通过类似的东西:
String[] args = {
"--freetype-color" , "12632256",
"--freetype-opacity", "128"
};
情况有所不同,例如 DVD 字幕 - 您根本无法更改这些属性。
如果 VLC 曾经公开了新的 API 来支持字幕属性的设置,那么 vlcj 的未来版本无疑会添加它。