0

我正在开发一个 WPF 应用程序,该应用程序将视频剪辑显示为工作流程的一部分。我通过使用 MediaElement 播放本地托管(非流式传输)的 AVI 文件来做到这一点。效果很好。

但是,我刚刚收到了一项新要求,即允许在播放剪辑时显示字幕。我不知道解决这个问题的最佳方法。我隐约知道WMP能够在播放剪辑时显示单独的字幕文件,但我不知道WPF是否支持这一点?

我可以在 WPF 中本地执行此操作吗?如果没有,我有什么选择?

我的后备方法是要求客户端将字幕直接烘焙到视频文件中,但我更愿意找到一种更好的方法来处理这个问题。

4

2 回答 2

2

好吧,如果您对字幕的要求只是覆盖 MediaElement 的文本,那么是的,WPF 肯定可以支持这一点。您只需要将 MediaElement 与 TextBlock 一起放入 Grid 中。

真正的技巧是根据 MediaElement 中的时间更改 TextBlock Text 属性。但是可能有很多方法可以做到这一点;首先想到的是使用绑定到MediaElement.Position属性的触发器。

于 2009-07-29T21:02:48.843 回答
0

在 WPF 中,您需要解析字幕文件并进行同步,而 Silverlight 中没有 MarkerReached 之类的事件。但是您可以创建一个与您的视频具有相同文件名的 smi(SAMI 文件)并将其放在同一个文件夹中。然后订阅 ScriptCommand 事件并在覆盖文本块中显示内容。

于 2012-05-23T15:16:31.890 回答