C# 字幕仅在全屏模式下工作

C# 字幕仅在全屏模式下工作,c#,.net,winforms,windows-media-player,axwindowsmediaplayer,C#,.net,Winforms,Windows Media Player,Axwindowsmediaplayer,我正在Windows窗体应用程序中使用axwindowsmediaplayer控件来显示正在播放的视频中的*.SMI字幕文件。问题是,只有当WMP控件处于全屏模式时,才会显示标题 我一直在努力寻找,但我还没有确定为什么相同的视频和.SMI文件在WMP控件未处于全屏模式时不工作 当我在WMP应用程序中播放视频时,.SMI标题文件将显示,无论播放器大小如何 有什么想法吗?也许这不是你想听到的答案,但是微软自己说WMP不是用来显示外部字幕的。在MSDN中,他们建议您使用一些“更强大”的播放器,如VLC

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

我一直在努力寻找,但我还没有确定为什么相同的视频和.SMI文件在WMP控件未处于全屏模式时不工作

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


有什么想法吗?

也许这不是你想听到的答案,但是微软自己说WMP不是用来显示外部字幕的。在MSDN中,他们建议您使用一些“更强大”的播放器,如VLC等

因此,一个可能的解决方案是使用VLC。(至少如果您未与WMP签订合同。)

1) 将VLC ActiveX组件添加到Visual Studio工具箱。(工具箱->右键单击->添加元素->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将自动加载字幕。

在过去几天里,我得出了相同的结论。