HTML5 BrightCove视频偶尔在Android上运行
我遇到了这样一个问题:嵌入在我网站上的Brightcove HTML5视频在被点击播放后会显示一个空白的黑屏。视频只能偶尔播放。这只发生在Android设备上(我只是在KitKat上进行问答) 在非工作实例中,templateLoad和templateReady事件会启动,但MediaEvents不会启动,视频也不会播放,只是显示一个黑屏 在工作实例中,所有事件都被触发,视频和音频流都被完美地传输 我甚至在BrightCove的SmartPlayer支持页面上也遇到过同样的问题。这些视频偶尔播放 想知道其他人是否在Android WebView中看到此问题,或者这是否可能是我们的格式副本设置的问题 代码如下HTML5 BrightCove视频偶尔在Android上运行,android,html,brightcove,Android,Html,Brightcove,我遇到了这样一个问题:嵌入在我网站上的Brightcove HTML5视频在被点击播放后会显示一个空白的黑屏。视频只能偶尔播放。这只发生在Android设备上(我只是在KitKat上进行问答) 在非工作实例中,templateLoad和templateReady事件会启动,但MediaEvents不会启动,视频也不会播放,只是显示一个黑屏 在工作实例中,所有事件都被触发,视频和音频流都被完美地传输 我甚至在BrightCove的SmartPlayer支持页面上也遇到过同样的问题。这些视频偶尔播放
<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')
}
}
}());
(功能(){
var player,
API模块,
视频播放器,
经验模块;
返回{
onTemplateLoad:函数(experienceID){
player=brightcove.api.getExperience(experienceID);
APIModules=brightcove.api.modules.APIModules;
log('template-loaded');
},
onTemplateReady:功能(evt){
videoPlayer=player.getModule(APIModules.VIDEO\u player);
experienceModule=player.getModule(APIModules.EXPERIENCE);
videoPlayer.addEventListener(brightcove.api.events.MediaEvent.BEGIN,onMediaEventFired);
log('template ready');
},
onMediaEventFired:函数(evt){
console.log('begin event fired')
}
}
}());
默认的网络视图在播放HTML5视频方面并不出色。即使是纯HTML5视频元素,我也遇到过“随机”播放问题——这并不局限于Brightcove的播放器。从本质上讲,标准的webview浏览器不足以支持视频。网站上的“HTML5视频支持”部分忽略了所需的配置
为了在应用程序中支持内嵌HTML5视频,您需要打开硬件加速,并设置WebChromeClient。对于全屏支持,需要onShowCustomView(View、WebChromeClient.CustomViewCallback)和onHideCustomView()的实现,getVideoLoadingProgressView()是可选的
我成功地使用了Brightcove播放器和其他视频。Brightcove最终追踪到了一个他们正在与谷歌合作解决的bug。它发生在通过wifi连接的Chrome 36设备上(三星特别容易受到攻击)。