我在Windows窗体应用程序中使用axwindowsmediaplayer控件来显示正在播放视频的* .SMI字幕文件。问题是只有在WMP控制处于全屏模式时才显示字幕。
我看起来非常努力,但我还没有确定为什么当WMP控制不是全屏模式时,相同的视频和.SMI文件不起作用。
当我在WMP应用程序中播放视频时,无论播放器的大小如何,都会显示.SMI标题文件。
有什么想法吗?
答案 0 :(得分:2)
也许这不是你想听到的答案,但微软本身表示WMP并不是为了显示外部字幕而做出的。在MSDN中,他们建议您使用一些更强大的"像VLC等玩家。
所以可能的解决方案是使用VLC。 (至少如果你没有签订WMP合同。)
1)将VLC ActiveX组件添加到Visual Studios工具箱。 (工具箱 - >右键单击 - >添加元素 - > COM组件选项卡 - > axVLCPlugin21)
2)将组件放在WPF / WinForm窗口
上3)加载并播放视频。
var convertedURI = new Uri("file:///" + Application.StartupPath +
"\\Wildlife.wmv").AbsoluteUri;
axVLCPlugin21.playlist.add(convertedURI);
axVLCPlugin21.playlist.play();
4)要添加字幕,只需将字幕文件命名为视频,并将其放在与视频文件相同的目录中。 (例如Wildlife.smi)
VLC会自动加载字幕/翻译字幕。