Skip to main content

YoutubeManagerService

Der YoutubeManagerService ermöglicht dir die vollständige Steuerung eines eingebetteten YouTube-Players. Du kannst Videos laden, abspielen, pausieren und verschiedene Wiedergabeparameter anpassen.

Zugriff

const youtube = RAGAI.YOUTUBE;

Methoden

play()

Startet oder setzt die Wiedergabe des aktuellen Videos fort.

Rückgabe: Promise<void>

await RAGAI.YOUTUBE.play();

pause()

Pausiert die Wiedergabe des aktuellen Videos.

Rückgabe: Promise<void>

await RAGAI.YOUTUBE.pause();

stop()

Stoppt die Wiedergabe des aktuellen Videos vollständig.

Rückgabe: Promise<void>

await RAGAI.YOUTUBE.stop();

mute()

Schaltet den Ton stumm.

Rückgabe: Promise<void>

await RAGAI.YOUTUBE.mute();

unmute()

Hebt die Stummschaltung auf.

Rückgabe: Promise<void>

await RAGAI.YOUTUBE.unmute();

setPlaybackRate(rate)

Setzt die Wiedergabegeschwindigkeit.

Parameter:

ParameterTypPflichtBeschreibung
ratenumberJaGeschwindigkeit (z. B. 0.5, 1, 1.5, 2)

Rückgabe: Promise<void>

// Halbe Geschwindigkeit
await RAGAI.YOUTUBE.setPlaybackRate(0.5);

// Normale Geschwindigkeit
await RAGAI.YOUTUBE.setPlaybackRate(1);

// Doppelte Geschwindigkeit
await RAGAI.YOUTUBE.setPlaybackRate(2);

setVolume(volume)

Setzt die Lautstärke des Players.

Parameter:

ParameterTypPflichtBeschreibung
volumenumberJaLautstärke (0–100)

Rückgabe: Promise<void>

// Lautstärke auf 50%
await RAGAI.YOUTUBE.setVolume(50);

seekTo(hours, minutes, seconds, allowSeekAhead?)

Springt zu einer bestimmten Position im Video.

Parameter:

ParameterTypPflichtBeschreibung
hoursnumberJaStunden
minutesnumberJaMinuten
secondsnumberJaSekunden
allowSeekAheadbooleanNeinErlaubt Sprünge in noch nicht gepufferte Bereiche

Rückgabe: Promise<void>

// Zu Minute 2:30 springen
await RAGAI.YOUTUBE.seekTo(0, 2, 30);

// Zu 1 Stunde, 15 Minuten, 0 Sekunden springen (mit Seek-Ahead)
await RAGAI.YOUTUBE.seekTo(1, 15, 0, true);

loadVideo(videoId, startSeconds?, endSeconds?)

Lädt ein neues Video in den Player.

Parameter:

ParameterTypPflichtBeschreibung
videoIdstringJaDie YouTube-Video-ID (z. B. "dQw4w9WgXcQ")
startSecondsnumberNeinStartposition in Sekunden
endSecondsnumberNeinEndposition in Sekunden

Rückgabe: Promise<void>

// Video laden
await RAGAI.YOUTUBE.loadVideo("dQw4w9WgXcQ");

// Video ab Sekunde 30 laden
await RAGAI.YOUTUBE.loadVideo("dQw4w9WgXcQ", 30);

// Nur einen Ausschnitt laden (Sekunde 10 bis 60)
await RAGAI.YOUTUBE.loadVideo("dQw4w9WgXcQ", 10, 60);

Vollständiges Beispiel

async function youtubeWorkflow() {
// 1. Video laden
await RAGAI.YOUTUBE.loadVideo("dQw4w9WgXcQ");
RAGAI.MSG.botMessage("Video wird geladen...");

// 2. Lautstärke und Geschwindigkeit einstellen
await RAGAI.YOUTUBE.setVolume(70);
await RAGAI.YOUTUBE.setPlaybackRate(1);

// 3. Wiedergabe starten
await RAGAI.YOUTUBE.play();

// 4. Nach 5 Sekunden zu einer bestimmten Stelle springen
setTimeout(async () => {
await RAGAI.YOUTUBE.seekTo(0, 1, 30);
RAGAI.MSG.botMessage("Springe zu 1:30...");
}, 5000);
}

// Wiedergabe steuern
async function videoPausieren() {
await RAGAI.YOUTUBE.pause();
RAGAI.MSG.botMessage("Video pausiert.");
}

async function videoStoppen() {
await RAGAI.YOUTUBE.stop();
RAGAI.MSG.botMessage("Video gestoppt.");
}

Tipps

  • Die Video-ID findest du in der YouTube-URL nach v=, z. B. https://www.youtube.com/watch?v=dQw4w9WgXcQ → ID ist dQw4w9WgXcQ.
  • Verwende startSeconds und endSeconds bei loadVideo, um nur relevante Videoabschnitte abzuspielen.
  • Mit setPlaybackRate kannst du Lernvideos beschleunigen oder verlangsamen.