【问题标题】:Youtube iFrame API's cueVideoById not working in mobile devices?Youtube iFrame API cue Video ById 在移动设备中不起作用?
【发布时间】:2012-12-05 14:34:27
【问题描述】:

我正在开发一个网站,该网站涉及在移动设备上播放嵌入的 Youtube 视频片段。 The API 声明 cueVideoById 支持同时定义 startSeconds 和 endSeconds 参数,只要您使用如下对象语法即可:

player.cueVideoById({videoId:String, 
                     startSeconds:Number, 
                     endSeconds:Number, 
                     suggestedQuality:String}):Void

这在桌面浏览器上运行良好,但在 Android 和 Windows Phone 8 中,我都会收到标准的 Youtube 消息,说视频当前不可用。如果我将 cueVideoById 切换回这样的参数语法,一切正常:

player.cueVideoById(videoId:String, 
                    startSeconds:Number, 
                    suggestedQuality:String):Void

...但是我无法再访问 endSeconds 了。有谁知道原因,甚至更好的解决方法?我使用的代码基于 API 中的基本入门示例:

<!DOCTYPE html>
<html>
  <body>
    <!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
    <div id="player"></div>

    <script>
      // 2. This code loads the IFrame Player API code asynchronously.
      var tag = document.createElement('script');
      tag.src = "//www.youtube.com/iframe_api";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

      // 3. This function creates an <iframe> (and YouTube player)
      //    after the API code downloads.
      var player;
      function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
          height: '390',
          width: '640',
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
      }

      // 4. The API will call this function when the video player is ready.
      function onPlayerReady(event) {

      event.target.cueVideoById("u1zgFlCw8Aw", 10, "medium");   // Works on mobile
      /*
        event.target.cueVideoById({ videoId: "u1zgFlCw8Aw",         // Doesn't work on mobile
                                    startSeconds: "10",
                                    endSeconds: "15",
                                    suggestedQuality: "medium"});
        */
        event.target.playVideo();
      }

    </script>
  </body>
</html>

【问题讨论】:

    标签: javascript iframe youtube-api


    【解决方案1】:

    我添加了这个:

    function onPlayerStateChange(event) {
    
    }
    

    现在只有第一个例子对我有用,就像你在 cmets 中所说的那样。

    【讨论】:

      【解决方案2】:

      现在在 android jellybean 上对我来说一切正常......

      我添加了这个:

      函数 onPlayerStateChange(事件) {

      }

      【讨论】:

        猜你喜欢
        • 2014-02-02
        • 2020-01-13
        • 1970-01-01
        • 2016-09-16
        • 2021-06-02
        • 2015-02-18
        • 1970-01-01
        • 2012-12-30
        • 2014-12-26
        相关资源
        最近更新 更多