移动设备上的brightcove播放器存在问题(html5是brightcove的移动后备,在桌面上它由自己的flash播放器使用,没有问题)。 加载带有视频的页面(仅包含视频,不包含任何其他代码)我在移动用户代理处获得控制台中的错误:
BrightcovePlayer_api_ad.js:415 Uncaught (in promise) DOMException: The element has no supported sources.
setContent @ BrightcovePlayer_api_ad.js:415
loadError @ BrightcovePlayer_api_ad.js:633
showErrorMessage @ BrightcovePlayer_api_ad.js:461
handleContentError @ BrightcovePlayer_api_ad.js:430
onMediaError @ BrightcovePlayer_api_ad.js:427
dispatchEvent @ BrightcovePlayer_api_ad.js:9
redispatch @ BrightcovePlayer_api_ad.js:9
dispatchEvent @ BrightcovePlayer_api_ad.js:9
errorHandler @ BrightcovePlayer_api_ad.js:374
g @ BrightcovePlayer_api_ad.js:2
dispatch @ BrightcovePlayer_api_ad.js:2
i @ BrightcovePlayer_api_ad.js:2
null:1 GET http://c.brightcove.com/services/viewer/null 404 (Not Found)
视频参数如下:
<p>
<div style="display:none"></div>
<script type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<script type="text/javascript" src="http://static.example.com/js/brightcove-ad.js?qqq"></script>
<object id="myExperience-aaa-play" class="BrightcoveExperience">
<param name="bgcolor" value="#FFFFFF" />
<param name="playerID" value="xxx" />
<param name="playerKey" value="yyy" />
<param name="isVid" value="true" />
<param name="isUI" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="@videoPlayer" value="zzz" />
<param name="includeAPI" value="true" />
<param name="autoStart" value="true" />
<param name="templateLoadHandler" value="onTemplateLoad" />
<param name="templateReadyHandler" value="onTemplateReady" />
</object></p>
<p>
任何移动用户代理的Chrome和Firefox错误都有所增加,但我只能在基于iOS的用户代理,Chrome和Firefox中获得错误说明。使用Android或Blackberry我得到相同的错误,但在控制台中没有错误描述,或视频容器根本没有显示。
任何建议都非常感谢!
答案 0 :(得分:0)
我来这里是因为我重新审视了一个相关的问题......我不是他们API的忠实粉丝......
无论如何,首先要确保您尝试投放的视频已经在&#34;媒体云中进行了移动编码&#34;。然后看一下使用智能播放器:https://support.brightcove.com/en/video-cloud/docs/delivering-video-html5-and-smart-players,它用于检测设备功能并根据需要呈现为flash / html5。
我可能会遇到的问题是,在移动设备上,视频需要花费太长时间才能加载,这会导致视频无法播放&#34;信息。由于他们没有使用正确的承诺,我创建了自己的承诺链,并且在调用完整播放器初始化之前使用超时等待视频传递。它的hacky和crusty并且在5%的时间内失败了......