我遇到过这样的问题:我的网站上嵌入的Brightcove HTML5视频在点击播放后显示为黑屏。视频只会偶尔播放。这只发生在Android设备上(我只是QA和KitKat)。
在非工作实例中,templateLoad和templateReady事件触发,但MediaEvents不会触发,视频无法播放,只显示黑屏。
在工作实例中,所有事件都被触发,视频和音频流完美无缺。
我甚至在BrightCove的SmartPlayer支持页面上遇到过同样的问题。视频偶尔起作用。
想知道其他人是否在Android WebView中看到此问题,或者这可能是我们的再现设置的问题。
代码如下。
<object id="myExperience{{ event.trailer.video_id }}" class="BrightcoveExperience">
<param name="bgcolor" value="#FFFFFF" />
<param name="width" value="530" />
<param name="height" value="298" />
<param name="playerID" value="3639386511001" />
<param name="playerKey" value="xxx" />
<param name="isVid" value="true" />
<param name="wmode" value="transparent" />
<param name="isUI" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="includeAPI" value="true" />
<param name="templateLoadHandler" value="onTemplateLoad" />
<param name="templateReadyHandler" value="onTemplateReady" />
<param name="templateErrorHandler" value="onPlayerError" />
<param name="@videoPlayer" value="xxx" />
</object>
(function(){
var player,
APIModules,
videoPlayer,
experienceModule;
return {
onTemplateLoad : function (experienceID) {
player = brightcove.api.getExperience(experienceID);
APIModules = brightcove.api.modules.APIModules;
console.log('template loaded');
},
onTemplateReady : function (evt) {
videoPlayer = player.getModule(APIModules.VIDEO_PLAYER);
experienceModule = player.getModule(APIModules.EXPERIENCE);
videoPlayer.addEventListener(brightcove.api.events.MediaEvent.BEGIN, onMediaEventFired);
console.log('template ready');
},
onMediaEventFired : function (evt){
console.log('begin event fired')
}
}
}());
答案 0 :(得分:0)
默认的网页浏览量不适合播放HTML5视频。即使使用简单的HTML5视频元素,我也经历过“随机”播放问题 - 它不仅限于Brightcove的播放器。基本上标准的webview不是足够强大的浏览器来支持视频。 <{3}}的“HTML5视频支持”部分掩盖了所需的配置。
为了在您的应用程序中支持内联HTML5视频,您需要启用硬件加速,并设置WebChromeClient。对于全屏支持,需要实现onShowCustomView(View,WebChromeClient.CustomViewCallback)和onHideCustomView(),getVideoLoadingProgressView()是可选的。
我使用http://developer.android.com/reference/android/webkit/WebView.html与Brightcove播放器和其他视频一起成功。