字幕仅在全屏模式下有效

Captions only working in full screen

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

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

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

有什么想法吗?

也许这不是您想听到的答案,但微软自己表示 WMP 不是为显示外部字幕而制作的。在 MSDN 中,他们建议您使用一些 "more powerful" 播放器,如 VLC 等。

所以一个可能的解决方案是使用 VLC。 (至少如果您没有与 WMP 签约。)

1) 将 VLC ActiveX 组件添加到 Visual Studios 工具箱。 (工具箱 -> 右键单击​​ -> 添加元素 -> COM 组件选项卡 -> axVLCPlugin21)

2) 将组件放在 WPF/WinForm window

3) 加载并播放视频。

var convertedURI = new Uri("file:///" + Application.StartupPath +
                           "\Wildlife.wmv").AbsoluteUri;
axVLCPlugin21.playlist.add(convertedURI);
axVLCPlugin21.playlist.play();

4) 要添加字幕,只需像视频一样命名字幕文件,并将其放在与视频文件相同的目录中。 (例如 Wildlife.smi)
VLC 将自动加载 captions/subtitles。