【发布时间】:2012-10-11 15:06:48
【问题描述】:
编辑没关系,YouTube 发布了原生 Android API (https://developers.google.com/youtube/android/player/)
我有一个在 WebView 上显示 HTML5 视频视图的应用程序。该视频被 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对象,见here。
当我引用VideoView 时,我可以使用方法seekTo() 来实现我的目标。到这里一切都很好,但仅适用于低于 4.x 的 Android 版本。
众所周知,WebViewChromeClient 的 onShowCustomView 方法,从 4.x 及更高版本开始,仅在用户单击“全屏”模式时调用,而不是在视频开始播放时调用(过去是如何4.x 之前)。
所以,关键是我无法向前寻找 90 秒,因为我无法获得对 VideoView 的引用,也找不到任何解决方法。
【问题讨论】:
-
当 newProgress == 100 时,也许您可以从 WebChromeClient#onProgressChanged(WebView view, int newProgress) 中的 view 参数中获取对 Video 对象的引用?我还没有尝试过,所以我将其发布为评论。
-
@GunnarKarlsson 我会检查的,谢谢!
-
看看 MediaelementJS (mediaelementjs.com)。我在我的 quirli 媒体播放器 (quir.li) 中使用这个库来播放各种媒体格式,包括 Youtube 视频。请参阅 Youtube 示例。
标签: android html video youtube