webentwicklung-frage-antwort-db.com.de

HTML5 erhöhen YouTube-Geschwindigkeit 2x von URL?

Ich möchte wissen, wie man ein YouTube-Video 2x beschleunigt, ohne dass der Benutzer auf HTML5 (des Videos) klickt, sondern indem er die URL ändert.

Zum Beispiel weiß ich, wie man ein Video ab einem bestimmten Zeitpunkt ansieht, indem man an die URL den Parameter &t=1m1s Anfügt (für 1 Minute und eine Sekunde). Ist es möglich, das Video mit einer ähnlichen Methode 2x zu beschleunigen?

Welche Parameter sollte ich zur URL hinzufügen, um Videos in doppelter Geschwindigkeit anzusehen (ich verwende html5)?

28
tonni

Es gibt keine Möglichkeit, die Wiedergabegeschwindigkeit über URL-Argumente zu ändern.

Wenn Sie mit HTML arbeiten, können Sie die YouTube Player iFrame-API nutzen.

So konfigurieren Sie Ihren Player mit dem gesamten JavaScript: https://developers.google.com/youtube/iframe_api_reference#Getting_Started

Und hier ist die Funktion, nach der Sie suchen, um die Wiedergabegeschwindigkeit festzulegen: https://developers.google.com/youtube/iframe_api_reference#Playback_rate

So können Sie Ihre onPlayerReady-Funktion wie folgt bearbeiten:

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

Sie können natürlich Schritt 5 der Dokumentation weitergeben, da Ihr Video nach sechs Sekunden nicht mehr abgespielt werden kann.

Wenn Sie Probleme haben, das einzurichten, bearbeite ich später eine JSFiddle (konnte es bei der Arbeit nicht tun, da mein Flash-Plugin nicht startet).

Update:

Hier ist die JSFiddle, die genau mit diesem Code funktioniert: http://jsfiddle.net/jpreynat/e11oy0eu/

36
jpreynat

Ich habe Anfang dieser Woche versucht, genau dasselbe zu tun.

Eine reine Lösung aus einem URL-Parameter ist nicht möglich. (oder wenn ja, ist es hier keine Dokumentation: https://developers.google.com/youtube/player_parameters )

Ich bin auf diese JSFiddle von Johan Preynat aufmerksam geworden: http://jsfiddle.net/jpreynat/e11oy0eu/

Hat für mich gearbeitet, also hoffentlich auch für Sie

[~ # ~] 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();
}

Siehe dazu auch die YouTube-Dokumentation: https://developers.google.com/youtube/iframe_api_reference

2
Alicia

Können Sie eine Verschiebung> oder <von Benutzereingaben über URL oder einfacheres Javascript einspeisen? Möglicherweise ist es einfacher, das Drücken der Tastenkombination vom Benutzerende aus zu erzwingen.