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

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

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

有任何想法吗?

最佳答案

也许这不是您想要听到的答案,但是Microsoft本身说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将自动加载字幕。

关于c# - 字幕只能在全屏模式下使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27935658/

10-13 02:58