无法在WebViewClient的shouldInterceptRequest提供的Webview中擦除视频

Mic*_*iyo 5 android android-video-player android-webview

我正在重写 的方法WebViewClient来提供本地视频流。视频播放和暂停都很好,但用户根本无法擦除——只是从同一位置继续播放。我怎样才能让用户可以更改播放位置?shouldInterceptRequest

擦洗在 web 视图中不起作用

代码:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val webView = findViewById<WebView>(R.id.webView)
    WebView.setWebContentsDebuggingEnabled(true)
    webView.webViewClient = object : WebViewClient() {
        override fun shouldInterceptRequest( view: WebView?, request: WebResourceRequest?
        ): WebResourceResponse? {
            if (request?.url.toString().contains("1.mp4")) {
                return WebResourceResponse(
                    "video/mp4",
                    "UTF-8",
                    resources.openRawResource(R.raw.movie)
                )
            }
            return super.shouldInterceptRequest(view, request)
        }
    }

    webView.loadDataWithBaseURL(
        "http://fake.com",
        """
        <!DOCTYPE html>
        <html>
            <p>Video 1:</p>
            <p><video src="http://fake.com/1.mp4" /></p>
        </html>
    """.trimIndent(), "text/html", StandardCharsets.UTF_8.name(), null
    )
}
Run Code Online (Sandbox Code Playgroud)

是一个有问题的仓库。请注意,这不是真正的用例,只是一个最小的示例。