检查 youtube api 播放器是否已暂停



我创建了一个按钮,可以在点击时暂停并播放YouTube视频。我正在尝试检查视频是否已经暂停,如果是这样播放,如果播放则暂停。is暂停不是一个函数。我正在寻找什么功能?

document.getElementById("playButton").addEventListener('click', function (event) {
    if(!!player.isPaused()){
        player.playVideo();
    } 
    else {
        player.pauseVideo();
    }
});

如果没有关于 HTML 控件的模式详细信息,我认为您正在使用 HTML 元素来控制视频的复制(播放)和暂停功能。

如果是这样,在onPlayerStateChange函数中,您必须按如下方式设置逻辑:

// 5. The API calls this function when the player's state changes.
function onPlayerStateChange(event) {
  // If the video is PLAYING, set the onclick element for pause the video.
  // Once the "playButton" is clicked, the video will be paused.
  if (event.data == YT.PlayerState.PLAYING) {
    document.getElementById('playButton').innerHTML = 'Pause';
    // Set the onclick event to the button for pause the YouTube video.
    document.getElementById('playButton').onclick = function() {
      player.pauseVideo();
    };
  }
  // If the video is PAUSED, set the onclick element for pause the video.
  // Once the "playButton" is clicked, the video will resume the video = continue playing the video.
  if (event.data == YT.PlayerState.PAUSED) {
    document.getElementById('playButton').innerHTML = 'Play';
    document.getElementById('playButton').onclick = function() {
      player.playVideo();
    };
  }
}

此函数是根据 YouTube 播放器 API 文档中的可用示例代码修改的。

这是一个工作 jsfiddle 示例。

根据您的

要求,您应该使用 YouTube 播放器 API 的player.getPlayerState()函数,它将播放器的播放状态返回为:

  • -1 – 未启动
  • 0 – 已结束
  • 1 – 播放
  • 2 – 已暂停
  • 3 – 缓冲
  • 5 – 视频提示

因此,您的代码应更新为:

document.getElementById("playButton").addEventListener('click', function (event) {
    if(player.getPlayerState()==1){ //Returns true if video is playing
      player.pauseVideo();
    }else{
      player.playVideo(); 
    }
});

相关内容

  • 没有找到相关文章

最新更新