2

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

我非常努力地寻找,但我一直没有确定为什么当 WMP 控件未处于全屏模式时,相同的视频和 .SMI 文件不起作用。

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

有任何想法吗?

4

1 回答 1

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 将自动加载字幕/字幕。

于 2015-01-22T08:58:57.120 回答