Android:我可以设置另一个视频播放器供<;视频>;标签?

Android:我可以设置另一个视频播放器供<;视频>;标签?,android,html5-video,Android,Html5 Video,我想要一个带有嵌入式视频播放器的HTML5应用程序 通常我只会在适当的地方使用标记。但我需要告诉android使用不同的播放器,而不是用于此标签的默认播放器。有没有办法存档 例如,我可以让它使用自编的ExoPlayer吗?或者我被隐藏在标签后面的东西困住了吗?我想一种方法是捆绑我自己编译的浏览器,更换视频播放器。但这太过分了 如果没有其他结果,我会选择在后台使用视频片段,并在前面使用透明的HTML5应用程序作为折衷方案。您的webview可以通过与Java/Kotlin代码进行通信 首先创建一个

我想要一个带有嵌入式视频播放器的HTML5应用程序

通常我只会在适当的地方使用
标记。但我需要告诉android使用不同的播放器,而不是用于此标签的默认播放器。有没有办法存档


例如,我可以让它使用自编的ExoPlayer吗?或者我被隐藏在
标签后面的东西困住了吗?

我想一种方法是捆绑我自己编译的浏览器,更换视频播放器。但这太过分了


如果没有其他结果,我会选择在后台使用视频片段,并在前面使用透明的HTML5应用程序作为折衷方案。

您的webview可以通过与Java/Kotlin代码进行通信

首先创建一个类,稍后将其设置为
WebView
的JavaScript接口。使用
@JavascriptInterface
注释要向JavaScript公开的方法。您还可以向这些方法添加参数:

创建上述类的实例并将其传递给您的
WebView

myWebView.addJavascriptInterface(MyJsInterface(), "android_js_interface")
最后,这是如何从JavaScript代码触发公开的Java/Kotlin方法:

// This value should match the second argument that you passed in addJavascriptInterface. 
var ANDROID_JS_INTERFACE = "android_js_interface"
...
// Call your Java/Kotlin method.
window[ANDROID_JS_INTERFACE].onShowNativePlayer()
// You can also pass arguments.
window.myJsFunc = function() {
    // Do something here.
}
奖金:

您也可以实现相反的效果(即从Java/Kotlin代码中调用JavaScript方法):

其中
myJsFunc()
是您在JavaScript代码中定义的函数:

// This value should match the second argument that you passed in addJavascriptInterface. 
var ANDROID_JS_INTERFACE = "android_js_interface"
...
// Call your Java/Kotlin method.
window[ANDROID_JS_INTERFACE].onShowNativePlayer()
// You can also pass arguments.
window.myJsFunc = function() {
    // Do something here.
}

我想提供我们自己的播放器,很可能是基于我们提供的APK的一部分的exoplayer。基于HTML的应用程序应该有一个内联视频(不是全屏),使用这个自己的播放器,而不是现在使用的任何东西,如果我只在自己的应用程序中指定视频标记的话。我们也将在其他平台上使用这个HTML5应用程序。因此,我们不会去本土。但这里我只搜索我们Android应用的解决方案。好的,但这意味着我必须使用本机片段,不能通过标记将其嵌入视图,对吗?是的,没错。不幸的是,你所描述的是不可能的。好吧,除非有人来证明你错了,否则你会得到赏金的。至少我从你那里得到了一个双向沟通的例子。谢谢