【问题标题】:Youtube API: See which video id is currently playingYoutube API:查看当前正在播放的视频 ID
【发布时间】:2013-12-15 02:56:45
【问题描述】:

有没有办法显示/查看/返回当前正在播放的视频(所以,哪个 videoID)?

这是 Iframe API 的基本代码:

var player;
  function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
      height: '390',
      width: '640',
      videoId: 'pJ18QeQy0e8',
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange,
        'onError': onError,
      },
        playerVars: {

                    'controls': 0,
                    'showinfo': 0,
                    'iv_load_policy': 3,
                    'wmode': "opaque",
                },
    });
  }

在第一个视频结束后。该事件将被调用:

  function onPlayerStateChange(event) {
if(event.data === 0) {    
        player.stopVideo();
player.loadVideoById(getId());          

        }
  }

getId() 函数将获取另一个 videoId 来播放..

我想在一个DIV中显示,videoId当前正在播放

【问题讨论】:

    标签: javascript jquery youtube-api


    【解决方案1】:

    您可以使用getVideoUrl 获取url,并从该url 中取出id 部分。

    【讨论】:

    • 假设视频 url 正确(观看或嵌入 url),您可以像这样拉视频 id:var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/; var match = e.target.getVideoUrl().match(regExp); var videoID = match[2];
    【解决方案2】:
    player.getVideoData()['video_id']
    

    var video_data = player.getVideoData()
    video_data['video_id']
    

    解决方案:

    function onPlayerStateChange(event) {
        if(event.data === 0) {    
            player.stopVideo();
            player.loadVideoById(player.getVideoData()['video_id']);
        }
    }
    

    【讨论】:

    • 这不再起作用尝试访问此函数返回e.player.getVideoData is not a function
    • 安卓有没有类似的api功能?
    【解决方案3】:

    使用 window.location.href...

    您可以将其粘贴到桌面上的控制台中,如果您在观看 youtube 视频,它会将 id 从 url 中取出,一点也不优雅,但它适用于桌面

    var url = window.location.href;
    
    var isYTvid = url.indexOf("www.youtube.com/watch?v=");
    if (isYTvid != -1) {
        var id = url.slice(url.indexOf("=") + 1 , url.length);
        console.log(id);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 2020-05-11
      • 2011-10-18
      • 2012-10-20
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多