Brightcove pause()无法在移动设备上运行

时间:2013-06-19 14:09:01

标签: mobile brightcove

我创建了一个包含视频的页面并进行了设置,这样如果您点击查看页面上的其他内容,视频就会暂停。这在我的桌面上运行良好,但不适用于iPad或我的Android手机等移动设备。

这是我的代码:

<script language="javascript" type="text/javascript">
  var player; 
  var videoPlayer;  

  function onTemplateLoaded(experienceId) {
    player = brightcove.getExperience(experienceId);
    videoPlayer = player.getModule(APIModules.VIDEO_PLAYER);      
  }
function togglePause() {      
  videoPlayer.pause();      
}
</script>

出于测试目的,我在页面上按了一个按钮,然后点击它调用“togglePause”功能。

<button onclick="togglePause()">PLAY</button>

知道为什么这不适用于移动设备吗?

1 个答案:

答案 0 :(得分:0)

我认为您需要指定templateReady处理程序并将APIModules.VIDEO_PLAYER模块的初始化移动到该模块。这是一个非常常见的错误,只使用templateLoadHandler大部分时间都可以在桌面上运行,因此它可以吸引很多人使用移动设备。

请参阅http://support.brightcove.com/en/video-cloud/docs/getting-started-smart-player-api

中的以下注释
  

重要提示:了解加载的模板与之间的区别   模板准备事件:

     
      
  • templateLoad:已收到播放器和API的所有数据   浏览器,你现在可以获得对整个播放器的引用(   BrightcoveExperience) - 玩家还没有完全设置好,   如果你现在尝试在它上面调用任何方法,那么你就是   设立比赛条件

  •   
  • templateReady:玩家现在已经   完全实例化,并准备通过API与您进行交互 - 您   应该只在模板就绪后调用API模块的方法   事件已经解雇

  •   
     

为避免过早调用方法,可以跳过   templateLoad事件,只处理templateReady事件。该   这样做的缺点是玩家ID没有传递给   templateReady处理程序,因此您需要从发布中获取它   代码,以获得对播放器的引用。