HTML5如何从URL中将YouTube视频的速度提高2倍?

36
我想了解如何通过修改URL来将YouTube视频的播放速度加快2倍,而不是让用户点击HTML5(视频)进行操作。
例如,我知道如何在URL后添加&t=1m1s参数(即1分1秒),以便观看特定时间开始的视频。请问是否可以使用类似的方法将视频播放速度加快2倍?
如果我正在使用html5观看视频,应该向URL中添加哪些参数才能以双倍速观看视频?

对于任何想要尝试相同操作的人,这里提供一个解决方案:https://chrome.google.com/webstore/detail/html5-video-speed-control/ejdipbccipeloijefbkiakckfhdbgocg - tonni
您还可以使用一个书签小工具 https://github.com/sjurgis/Bookmarklets/blob/master/youtube-speed-increases.md - dzh
3个回答

40

无法通过URL参数更改播放速度。

不过,如果您正在使用HTML,可以利用YouTube Player iFrame API。

以下是如何使用所有JavaScript配置播放器: https://developers.google.com/youtube/iframe_api_reference#Getting_Started

这是您要查找以设置播放速度的功能: https://developers.google.com/youtube/iframe_api_reference#Playback_rate

因此,您可以像这样编辑您的onPlayerReady函数:

function onPlayerReady(event) {
  player.setPlaybackRate(2); // This is what you're looking for
  event.target.playVideo();
}

如果你不想让视频在六秒后停止播放,当然可以跳过文档中的第五步。

如果你在设置时遇到问题,我稍后会编辑一个JSFiddle(我无法在工作中完成,因为我的Flash插件无法启动)。

更新:

这是JSFiddle,使用此代码完全正常: http://jsfiddle.net/jpreynat/e11oy0eu/


如果您可以嵌入播放器(比如在论坛网站上),那么您能否将其作为HTML脚本添加? - Mark C

3

我本周早些时候也试图做同样的事情。

纯粹从URL参数解决不可行。(如果可以的话,这里没有文档: https://developers.google.com/youtube/player_parameters

我发现了Johan Preynat的JSFiddle:http://jsfiddle.net/jpreynat/e11oy0eu/

对我有用,希望对你也有用。

HTML

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

JavaScript

// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');

tag.src = "https://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',
        videoId: 'M7lc1UVf-VE',
        events: {
            'onReady': onPlayerReady
        }
    });
}

// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
    player.setPlaybackRate(2);
    event.target.playVideo();
}

此外,还可以参考YouTube的相关文档: https://developers.google.com/youtube/iframe_api_reference


1

您能否通过URL或更简单的JavaScript从用户输入中注入shift >或<?也许更容易从用户端强制按下热键。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接