编辑 不用担心,YouTube发布了原生Android API (https://developers.google.com/youtube/android/player/)。
我有一个应用程序,在 WebView 上显示 HTML5 的 videoview。这个视频是从 YouTube 服务中强制使用 HTML5 播放的(http://www.youtube.com/embed/3FFyT039tJ0?autoplay=1&rel=0&showinfo=0&html5=1&start=90&end=176 )。
正如您在 URL 中所看到的,参数 "start" 显示了视频必须开始播放的秒数。我一直在使用 WebChromeClient
的 onShowCustomView
方法获取 WebView 创建的 VideoView
对象,如此处所见(链接)。
当我有了对 VideoView
的引用,我就可以使用 seekTo()
方法来达成我的目标。到这里为止,一切都很好,但只对低于 Android 4.x 的版本有效。
正如许多人所知,从 4.x 版本开始,WebViewChromeClient
的 onShowCustomView
方法只在用户点击 "全屏" 模式时才调用,而不是在视频开始播放时(如之前的版本)。
因此,问题在于我不能向前跳转90秒,因为我无法获得对 VideoView 的引用,并且我找不到任何解决方法。
newProgress == 100
时,您可以从WebChromeClient#onProgressChanged(WebView view, int newProgress)
的view
参数中获取 Video 对象的引用。我还没有尝试过这个方法,所以我将它发布为一条评论。 - Gunnar Karlsson