3

私はモバイルデバイスで埋め込まれたYoutubeビデオのセグメントを再生することを含むウェブサイトに取り組んでいます。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の基本的なGettingStartedの例に基づいています。

<!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>
4

2 に答える 2

0

それは今アンドロイドジェリービーンで私のために働いています...

私はこれを追加しました:

関数 onPlayerStateChange(イベント) {

}

于 2013-06-16T14:03:04.710 に答える
0

私はこれを追加しました:

function onPlayerStateChange(event) {

}

コメントで述べたように、最初の例だけが機能します。

于 2013-06-16T13:53:27.377 に答える