Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML5 BrightCove视频偶尔在Android上运行_Android_Html_Brightcove - Fatal编程技术网

HTML5 BrightCove视频偶尔在Android上运行

HTML5 BrightCove视频偶尔在Android上运行,android,html,brightcove,Android,Html,Brightcove,我遇到了这样一个问题:嵌入在我网站上的Brightcove HTML5视频在被点击播放后会显示一个空白的黑屏。视频只能偶尔播放。这只发生在Android设备上(我只是在KitKat上进行问答) 在非工作实例中,templateLoad和templateReady事件会启动,但MediaEvents不会启动,视频也不会播放,只是显示一个黑屏 在工作实例中,所有事件都被触发,视频和音频流都被完美地传输 我甚至在BrightCove的SmartPlayer支持页面上也遇到过同样的问题。这些视频偶尔播放

我遇到了这样一个问题:嵌入在我网站上的Brightcove HTML5视频在被点击播放后会显示一个空白的黑屏。视频只能偶尔播放。这只发生在Android设备上(我只是在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')
            }
        }
    }());

(功能(){
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设备上(三星特别容易受到攻击)。