字幕仅在全屏幕中工作

时间:2015-01-14 04:02:20

标签: c# .net winforms windows-media-player axwindowsmediaplayer

我在Windows窗体应用程序中使用axwindowsmediaplayer控件来显示正在播放视频的* .SMI字幕文件。问题是只有在WMP控制处于全屏模式时才显示字幕。

我看起来非常努力,但我还没有确定为什么当WMP控制不是全屏模式时,相同的视频和.SMI文件不起作用。

当我在WMP应用程序中播放视频时,无论播放器的大小如何,都会显示.SMI标题文件。

有什么想法吗?

1 个答案:

答案 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会自动加载字幕/翻译字幕。