获取播放器的当前状态(Youtube API)

Get current state of Player (Youtube API)

是否有任何函数可以获取 Youtube API 播放器的当前状态? 如果播放器当前状态为 1(正在播放),我想为 运行 命令编写一个函数,但我在参考页面上找不到任何内容。
p/s: 我已经知道 onStageChange,我需要检查当前状态 我的创建播放器代码:

var player;
    window.onYouTubeIframeAPIReady = function () {
        console.log('onYouTubeIframeAPIReady');
        player = new YT.Player('video_player', {
            // playerVars: { 'enablejsapi':1,'autoplay':0,'controls':0,'rel':0,'showinfo':0,'egm':0,'showsearch':0,'modestbranding':1,'iv_load_policy':3,'disablekb':0,'loop':0},
            events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange,
                'onError': onPlayerError
            }
        });
    }

#通过onStateChange

API 触发事件通知您的应用程序有关内置播放器的更改。 API 将传递一个事件对象,对于以下每种类型的状态都是唯一的:

  • YT.PlayerState.ENDED 0
  • YT.PlayerState.PLAYING 1
  • YT.PlayerState.PAUSED 2
  • YT.PlayerState.BUFFERING 3
  • YT.PlayerState.CUED 5

例子:

   ...

   onPlayerStateChange(event) {

        if (event.data == YT.PlayerState.ENDED) {               
            console.log("Video Ended");
        }

        if (event.data == YT.PlayerState.PLAYING) {             
            console.log("Video Playing");
        }

        if (event.data == YT.PlayerState.PAUSED) {              
            console.log("Video Paused");
        }

        if (event.data == YT.PlayerState.BUFFERING) {               
            console.log("Video Buffering");
        }

        if (event.data == YT.PlayerState.CUED) {                
            console.log("Video Cued");
        }

    },

    ...

# 通过 getPlayerState()

  var player;

  function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
      height: '360',
      width: '640',
      videoId: 'M7lc1UVf-VE',
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
  }

  console.log(player.getPlayerState());

getPlayerState() 的可能值为:

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