HTML5 BrightCove视频偶尔适用于Android

时间:2014-07-16 18:18:36

标签: android html5 brightcove

我遇到过这样的问题:我的网站上嵌入的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')
            }
        }
    }());

1 个答案:

答案 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播放器和其他视频一起成功。