【问题标题】:Embedding Youtube playlist but starting from random video嵌入 Youtube 播放列表,但从随机视频开始
【发布时间】:2012-10-01 14:59:39
【问题描述】:

我已经做了很多搜索,但到目前为止找不到解决方案......

我有一个 Youtube 播放列表。我想把它嵌入到一个网站上。但不是总是从第一个视频开始,我希望它从一个随机视频开始,或者至少是一个特定视频(我可以使用服务器端代码随机选择)。

我查看了 iframe 嵌入 URL 的选项,但看不到允许我对此进行任何控制的参数。有可能吗?

否则我认为我需要在 JavaScript 中使用 API 做一些事情。有人可以粘贴或指向我可以用来完成此任务的一些示例代码吗,因为我以前没有使用过 Youtube API?

【问题讨论】:

    标签: youtube youtube-api


    【解决方案1】:

    在你的服务器上生成一个随机数,然后在 url 中使用 index 参数。这是一个示例,播放列表将通过添加 index=7 从第 7 项开始。

    <iframe width="560" height="315" src="http://www.youtube.com/embed/videoseries?list=PL9C5815B418D1508E&index=7" frameborder="0" allowfullscreen></iframe>
    

    另一种选择是使用 js api,调用 loadPlaylist 并包含 index 参数。 https://developers.google.com/youtube/js_api_reference#loadPlaylist

    **编辑:由于 Google 引入了 YouTube 的 3.0 API,index 参数现在从零开始。因此,如果我们想从第 7 个视频开始,我们将使用&amp;index=6 而不是&amp;index=7 修改上面的示例。

    (链接:https://developers.google.com/youtube/iframe_api_reference#Queueing_Functions_for_Playlists

    【讨论】:

    • 感谢您,索引参数将完成这项工作。虽然我想我无法计算视频的数量(不使用 API),但我发现如果我使用的索引大于视频的实际数量,它无论如何都会显示第一个,这很好。
    • 遗憾的是,API 文档中从未提及 index 的事情,即使他们在跟踪多年来的变化方面做得很好 developers.google.com/youtube/player_parameters 我也找不到任何此类功能可供选择播放列表中的特定视频。 :( 我能找到的唯一替代方法是使用playlist 参数并手动构建一个以逗号分隔的随机列表。反过来,这对我的用例没有多大帮助。我只是想从播放列表中选择一个视频,使用视频 ID!
    【解决方案2】:

    根据 Greg 的回答,我编写了这段代码,并且可以正常工作!

    `
    <?php
    $min=1;  $max=8;  //the number of videos on your playlist
    ?>
    <object width="746" height="413"><param name="movie" value="http://www.youtube.com/p/CAAA1242CA3E37B4?version=3&hl=es_ES&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
    <?php
    //in index the script randomize the numbre between $min $max
    echo "
    <embed src=\"http://www.youtube.com/p/CAAA1242CA3E7B4?version=3&hl=es_ES&fs=1&index=".rand($min,$max)."\" type=\"application/x-shockwave-flash\" width=\"746\" height=\"413\" allowscriptaccess=\"always\" allowfullscreen=\"true\">
    </embed>
    ";
    ?>
    </object>
    `
    

    【讨论】:

      【解决方案3】:

      在我的上下文中,我稍微更改了 Mauricio 的编码:

       index=<?php print(rand(1,50)) ?>  
      

      (我这里直接放了最小值和最大值)

      【讨论】:

        【解决方案4】:

        【讨论】:

          猜你喜欢
          • 2017-02-21
          • 1970-01-01
          • 2018-03-16
          • 1970-01-01
          • 2013-04-24
          • 2013-03-27
          • 1970-01-01
          • 2011-07-18
          • 1970-01-01
          相关资源
          最近更新 更多