【问题标题】:How do I make a YouTube video seek when it first loads?如何在 YouTube 视频首次加载时进行搜索?
【发布时间】:2014-08-03 11:32:11
【问题描述】:

我一直在使用 YouTube API,我的一项任务是当 YouTube 视频加载时,我可能希望它立即移动到视频中的特定点 - 例如 - 点 5 分 10 秒。换句话说,我不希望它播放前 5 分 10 秒,我希望我跳过该部分。

我发现这不适用于任何浏览器。

我在“onPlayerReady”事件中尝试过,但失败了。

所以我在 YT.PlayerState.Cued 被触发时尝试过,但也失败了。

有没有人让这个工作?这听起来很基本。

一个警告:我不直接使用 iframe,而是在代码中创建 iframe。 (使用诸如 player = new YT.Player('player', {) 之类的代码。搜索是通过诸如“player.seekTo(sp, true);”之类的调用完成的

谢谢。

【问题讨论】:

    标签: youtube youtube-api


    【解决方案1】:

    你需要使用loadVideoById

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

    例如:

    player.loadVideoById('videoid', 500);
    

    您的视频将从 500 秒开始

    如果您发布您的代码,我们可以为您提供的不仅仅是简单的文档链接。

    编辑

    new YT.Player 的示例,没有视频 ID,播放器只是加载而不是视频。

    player = new YT.Player('player', {
        width: '636',
        height: '360',
        playerVars: {
        'controls' : 0,
        'showinfo' : 0,
        'modestbranding' : 0,
        'rel' : 0
      },
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange,
        'onError': onPlayerError
      }
    });
    

    【讨论】:

    • 此行是否重新加载整个视频? (我问这个是因为当您使用 New YT.player 创建视频时确实会加载视频......并且它确实遵守 API 命令。)
    • @user3903798 不,因为我没有在 YT.Player 函数上传递任何 youtube Id。该功能只是准备没有视频的播放器。播放器准备好后,我使用player.loadVideoById('videoid', 500); -> 加载视频,然后在player.play(); 之后。就像我说的那样,如果您不发布代码,就很难在代码中向您展示您想要做的事情:) 我对我之前的答案进行了编辑。
    猜你喜欢
    • 2023-02-19
    • 2015-07-12
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    相关资源
    最近更新 更多