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:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
rate | number | Ja | Geschwindigkeit (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:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
volume | number | Ja | Lautstä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:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
hours | number | Ja | Stunden |
minutes | number | Ja | Minuten |
seconds | number | Ja | Sekunden |
allowSeekAhead | boolean | Nein | Erlaubt 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:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
videoId | string | Ja | Die YouTube-Video-ID (z. B. "dQw4w9WgXcQ") |
startSeconds | number | Nein | Startposition in Sekunden |
endSeconds | number | Nein | Endposition 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 istdQw4w9WgXcQ. - Verwende
startSecondsundendSecondsbeiloadVideo, um nur relevante Videoabschnitte abzuspielen. - Mit
setPlaybackRatekannst du Lernvideos beschleunigen oder verlangsamen.