在使用最新版本 libvlc 2.0 版本时,我收集了不少调用 libvcl 的资料。
最后还是觉得 PasLibVlc 最好使用,开源又支持 FreePascal。
但发现PasLibVlc最近没怎么更新,使得在 libvlc2.0 上连设置 --no-video-title-show 的功能都出问题。应该是 libvlc2.0 的新接口作变动造成。
经过分析后,只要在 PasLibVlcClassUnit.pas 248行,修改以下内容即可消除那个字幕问题:
function TPasLibVlc.GetHandle() : libvlc_instance_t_ptr;
var
args : array[0..2] of PAnsiChar;
begin
Result := NIL;
if (FHandle = NIL) then
begin
if (Path <> '') then
begin
libvlc_dynamic_dll_init_with_path(System.UTF8Encode(Path));
if (libvlc_dynamic_dll_error <> '') then libvlc_dynamic_dll_init();
end
else
begin
libvlc_dynamic_dll_init();
end;
if (libvlc_dynamic_dll_error <> '') then exit;
args[0] := PAnsiChar(libvlc_dynamic_dll_path);
args[1] := ‘--no-video-title-show’;//'--ignore-config';
args[2] := NIL;
FHandle := libvlc_new(2, @args);
end;
Result := FHandle;
end;