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

标签 youtube youtube-javascript-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 –提示
  • 关于youtube - 获取播放器的当前状态(Youtube API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43165089/

    相关文章:

    jquery - jQuery在播放时移动youtube视频

    android - 在Android的Cardboard Viewer模式下直接打开Youtube应用的 Intent 是什么

    vb.net - Google YouTube API vb.net引用

    youtube - 嵌入并循环播放一部分YouTube视频(html5)

    iphone - 在 iOS 6 上的 UIWebView 中全屏播放 YouTube 视频

    javascript - 显示来自不同 vendor 的视频预览

    youtube-api - 如何配置本地主机以从 Youtube API 请求数据?

    javascript - 如何从 JSON 文件嵌入 youtube 链接

    uiwebview - iOS 上的 Chromecast 嵌入式 youtube 视频

    jquery - 如何从 YouTube 视频中删除黑条