我有一个使用cefsharp v79.1.360的WPF C#应用程序。 该应用程序很高兴在浏览器中播放单个本地webm文件。
现在,我想将本地文件名的字符串传递给应用程序,并依次播放它们。因此,当一个webm完成播放时,将依次播放下一个。页面中没有其他内容,只有webm。
我的第一个想法是检测当前webm何时完成,然后加载下一个文件。我没有看到任何引发事件或处理程序可以为我执行此操作。 我将FrameLoadEnd处理程序用于其他目的,但是它仅在webm完成加载时才触发,而不是在播放完成时触发。
有人知道检测webm视频的结尾是否可能吗?
我的另一个想法是将每个webm加载到流中并播放整个批处理。 出于用户体验的目的,我认为最好依次播放每个人。
谢谢
答案 0 :(得分:0)
确定解决该问题的最佳方法是创建一个HTML页面,该页面将接受带分隔符的视频位置字符串。它会处理列表中的各个循环,并逐一播放。它所要做的就是在触发onended事件并调用下面的loadPlaylist函数时更改video标签的src。
C#应用程序通过javascript调用将播放列表传递给html:
Browser.FrameLoadEnd += (sender, args) =>
{
//Wait for the Main Frame to finish loading
if (args.Frame.IsMain)
{
var playlist = navigationContext.Parameters[NavigationParameterKeys.WebAddress].ToString();
args.Frame.ExecuteJavaScriptAsync("loadPlaylist('" + playlist +"');");
}
};