我在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/