2014年8月27日水曜日

Windows8のChromeでDailyMotionのPlayer APIを使ってビデオを再生できない場合の対処

Windows8のChromeでDailyMotionのPlayer APIを使ってビデオを再生できない場合の対処。

実際には再生できないというよりautoplayができないようだ。

そこで、プレイヤーを生成する時にautoplayをoff(0)にし、「apiready」のイベントリスナーの内部でplayerDM.play()する。

var playerDM = DM.player('playerDMContent', {video:id, params:{api: 1, autoplay: 0, chromeless: 1}});
playerDM.addEventListener('apiready', function(evt){ onPlayerStateChangeDM(evt); });
function onPlayerStateChangeDM(event) {
  switch(event.type) {

    // プレイヤー準備完了イベント時
    case 'apiready':
      //console.log('onPlayerStateChangeDM() プレイヤー準備完了');
      playerDM.play(); //autoplayがOFFなので準備でき次第再生
      break;
  
  }
}

これで再生できる。

IE11とSafari、Windows、MacのChrome、Firefox、Operaで動作を見ているが、このような症状が出たのはWinのChromeだけだった。