[英]HTML5 BrightCove video sporadically works on Android
我遇到的问题是,单击播放后,嵌入在我网站上的Brightcove HTML5视频显示黑屏。 视频只会偶尔播放。 这仅在Android设备上发生(我仅在KitKat上进行质量检查)。
在非工作实例中,会触发templateLoad和templateReady事件,但不会触发MediaEvent,并且视频也不会播放,仅显示黑屏。
在工作实例中,将触发所有事件,并且视频和音频流将完美传输。
我什至在BrightPov的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')
}
}
}());
默认的网络视图不适用于播放HTML5视频。 即使使用普通的HTML5视频元素,我也遇到过“随机”播放问题-它不仅限于Brightcove的播放器。 实质上,标准的Webview不够强大,无法支持视频。 http://developer.android.com/reference/android/webkit/WebView.html上的“ HTML5视频支持”部分掩盖了所需的配置。
为了在您的应用程序中支持嵌入式HTML5视频,您需要打开硬件加速,并设置一个WebChromeClient。 为了获得全屏支持,需要onShowCustomView(View,WebChromeClient.CustomViewCallback)和onHideCustomView()的实现,getVideoLoadingProgressView()是可选的。
我已经在Brightcove播放器和其他视频上成功使用了这种自定义Webview 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.