Brightcove视频事件未在平板电脑设备上触发

时间:2014-02-04 18:35:54

标签: jquery mobile video tablet brightcove

我似乎在使用平板电脑设备上的Brightcove视频播放器事件时遇到问题。我在桌面浏览器上运行的代码非常好,但在平板电脑上,事件本身不会触发(我的控制台日志消息不会显示)。

我错过了什么或做错了什么吗?这是我现场观看整个文档代码的测试链接:http://sql.bot.nu/bcove.html - 注意控制台显示桌面浏览器上的事件,但我的Android平板电脑往往是沉默的,并且基于我从中获得的响应客户端,其他平板电脑也有同样的问题。

// Initialize
var player, exp, bcExp, modExp, modCue, modVid, phead, pbtn, pos, dur, full, vol;

function onTemplateLoaded(pPlayer) {
  console.log('template loaded');

  // Setup
  player = bcPlayer.getPlayer(pPlayer);
  exp = player.getModule(APIModules.EXPERIENCE);
  bcExp = brightcove.getExperience(pPlayer);

  // Add event listener for template ready
  exp.addEventListener(BCExperienceEvent.TEMPLATE_READY, onTemplateReady); 

  // Get module references
  modExp = bcExp.getModule(APIModules.EXPERIENCE);
  modCue = bcExp.getModule(APIModules.CUE_POINTS);
  modVid = bcExp.getModule(APIModules.VIDEO_PLAYER);

  // Add event listener for content loaded
  modExp.addEventListener(BCExperienceEvent.CONTENT_LOAD, onContentLoad);
}

function onContentLoad(evt) {
  console.log('content loaded');

  // Create cookie if we don't have one
  if($.cookie(seekerCookie) == null){
    $.cookie(seekerCookie, 0, { expires: 3 });
  }

  // Seek to second stored in cookie
  seek($.cookie(seekerCookie));

  // Enable our continue button if the completed cookie has been set
  if($.cookie(completeCookie)==1) {
    $('#submit').removeAttr('disabled').removeClass("buttondisabled").addClass("button");
  }
}

function onTemplateReady(e) {
  console.log('template ready');

  // Remove template ready event and setup video complete event
  exp.removeEventListener(BCExperienceEvent.TEMPLATE_READY, onTemplateReady);
  video = player.getModule(APIModules.VIDEO_PLAYER);
  video.addEventListener(BCMediaEvent.COMPLETE, onComplete);

  // Set player elements
  phead = exp.find('#playhead')
  pbtn = exp.find('#playButton')
  pos = exp.find('#positionLabel')
  dur = exp.find('#durationLabel')
  full = exp.find('#fullscreenButton')
  vol = exp.find('#volumeButton')

  // Hide and show parts of the player
  phead.setVisible(false);
  pbtn.setVisible(true);
  pos.setVisible(true);
  dur.setVisible(true);
  full.setVisible(true);
  vol.setVisible(true);
}

function onComplete(e) {
  console.log('video completed');

  // Show player head
  phead.setVisible(true);

  // Enable submit button
  $('#submit').removeAttr('disabled').removeClass('buttondisabled').addClass('button');

  // Set the completed cookie
  if($.cookie(completeCookie) != 1){
    $.cookie(completeCookie, 1, { expires: 3 });
  }
}

1 个答案:

答案 0 :(得分:1)

Brightcove的播放器API有两个版本:“Flash only player API”仅适用于Flash播放器,“smart player API”适用于Flash和HTML播放器。

您的代码使用的是仅限Flash的API,因此无法在使用HTML播放器的平板电脑上使用。

智能播放器api上的文档位于http://docs.brightcove.com/en/video-cloud/smart-player-api/index.html