首页 > 解决方案 > 如何在 xamarin.forms 的 webview 中获取视频已开始播放的事件

问题描述

在我的 xamarin.forms 应用程序中,我使用的是 webview。我有一个视频控件正在顶部播放视频。

我正在使用 webview,它也是基于 html5 的视频。当有人播放视频时,我想停止正在播放的视频。

如何在 xamarin.forms 中做到这一点。

标签: htmlxamarin.forms

解决方案


在您的 html5 文件中

设置视频的id

<video id="video">...</video>

并在 JS 中添加监听器

var video=document.getElementById("video");
video.addEventListener("play",function(){  
    
});  

解决方案 1

如果你想停止播放,为什么不在 Html 5 中停止呢?

var video=document.getElementById("video");
video.addEventListener("play",function(){  
    video.stop();
});  

解决方案 2

如果您确实想在 Forms 中停止它,它会有点复杂。

你应该在Custom Renderer

var video=document.getElementById("video");
video.addEventListener("play",function(){  
    
  invokeNativeMethod();

});  

invokeNativeMethod网页中没有定义 JavaScript 函数,每个自定义渲染器都会将其注入其中。

您可以参考HybridWebView了解更多关于如何在 JS 中调用 c# 方法的详细信息。


推荐阅读