Erste Schritte
-
Paket installieren
Terminal-Fenster npm i @capgo/capacitor-video-playerTerminal-Fenster pnpm add @capgo/capacitor-video-playerTerminal-Fenster yarn add @capgo/capacitor-video-playerTerminal-Fenster bun add @capgo/capacitor-video-player -
Mit nativen Projekten synchronisieren
Terminal-Fenster npx cap syncTerminal-Fenster pnpm cap syncTerminal-Fenster yarn cap syncTerminal-Fenster bunx cap sync
Grundlegende Verwendung
Section titled “Grundlegende Verwendung”import { CapacitorVideoPlayer } from '@capgo/capacitor-video-player';
// Initialize a video playerconst playVideo = async () => { const result = await CapacitorVideoPlayer.initPlayer({ mode: 'fullscreen', url: 'https://example.com/video.mp4', playerId: 'myPlayer', componentTag: 'div' });
console.log('Player initialized:', result);};
// Play the videoawait CapacitorVideoPlayer.play({ playerId: 'myPlayer' });
// Pause the videoawait CapacitorVideoPlayer.pause({ playerId: 'myPlayer' });
// Get current timeconst { value } = await CapacitorVideoPlayer.getCurrentTime({ playerId: 'myPlayer' });console.log('Current time:', value);
// Seek to positionawait CapacitorVideoPlayer.setCurrentTime({ playerId: 'myPlayer', seektime: 30 // seconds});
// Set volume (0-1)await CapacitorVideoPlayer.setVolume({ playerId: 'myPlayer', volume: 0.5});API Referenz
Section titled “API Referenz”initPlayer(Optionen)
Section titled “initPlayer(Optionen)”Initialisieren Sie eine Videoplayer-Instanz.
await CapacitorVideoPlayer.initPlayer({ mode: 'fullscreen', // or 'embedded' url: 'https://example.com/video.mp4', playerId: 'player1', subtitle: 'https://example.com/subtitles.vtt', language: 'en', rate: 1.0, exitOnEnd: true, loopOnEnd: false, pipEnabled: true, showControls: true});abspielen(Optionen)
Section titled “abspielen(Optionen)”Spielen Sie das Video ab.
await CapacitorVideoPlayer.play({ playerId: 'player1' });Pause(Optionen)
Section titled “Pause(Optionen)”Halten Sie das Video an.
await CapacitorVideoPlayer.pause({ playerId: 'player1' });getDuration(Optionen)
Section titled “getDuration(Optionen)”Erhalten Sie die Videodauer in Sekunden.
const { value } = await CapacitorVideoPlayer.getDuration({ playerId: 'player1' });console.log('Duration:', value, 'seconds');getCurrentTime(Optionen)
Section titled “getCurrentTime(Optionen)”Aktuelle Wiedergabeposition in Sekunden abrufen.
const { value } = await CapacitorVideoPlayer.getCurrentTime({ playerId: 'player1' });setCurrentTime(Optionen)
Section titled “setCurrentTime(Optionen)”Suchen Sie nach einer bestimmten Zeit.
await CapacitorVideoPlayer.setCurrentTime({ playerId: 'player1', seektime: 60 // seconds});setVolume(Optionen)
Section titled “setVolume(Optionen)”Lautstärke einstellen (0,0 bis 1,0).
await CapacitorVideoPlayer.setVolume({ playerId: 'player1', volume: 0.8});getVolume(Optionen)
Section titled “getVolume(Optionen)”Aktuelle Lautstärke abrufen.
const { value } = await CapacitorVideoPlayer.getVolume({ playerId: 'player1' });setMuted(Optionen)
Section titled “setMuted(Optionen)”Schalten Sie das Video stumm oder heben Sie die Stummschaltung auf.
await CapacitorVideoPlayer.setMuted({ playerId: 'player1', muted: true});setRate(Optionen)
Section titled “setRate(Optionen)”Wiedergabegeschwindigkeit einstellen.
await CapacitorVideoPlayer.setRate({ playerId: 'player1', rate: 1.5 // 1.5x speed});stopAllPlayers()
Section titled “stopAllPlayers()”Stoppen Sie alle aktiven Spieler.
await CapacitorVideoPlayer.stopAllPlayers();###exitPlayer()
Beenden Sie den Videoplayer.
await CapacitorVideoPlayer.exitPlayer();Vollständiges Beispiel
Section titled “Vollständiges Beispiel”import { CapacitorVideoPlayer } from '@capgo/capacitor-video-player';
export class VideoPlayerService { private playerId = 'mainPlayer';
async initializePlayer(videoUrl: string, subtitleUrl?: string) { try { const result = await CapacitorVideoPlayer.initPlayer({ mode: 'fullscreen', url: videoUrl, playerId: this.playerId, subtitle: subtitleUrl, language: 'en', rate: 1.0, exitOnEnd: true, loopOnEnd: false, pipEnabled: true, bkmodeEnabled: true, showControls: true, displayMode: 'all' });
console.log('Player initialized:', result); return result; } catch (error) { console.error('Failed to initialize player:', error); throw error; } }
async togglePlayPause() { const { value: isPlaying } = await CapacitorVideoPlayer.isPlaying({ playerId: this.playerId });
if (isPlaying) { await CapacitorVideoPlayer.pause({ playerId: this.playerId }); } else { await CapacitorVideoPlayer.play({ playerId: this.playerId }); } }
async seekForward(seconds: number = 10) { const { value: currentTime } = await CapacitorVideoPlayer.getCurrentTime({ playerId: this.playerId });
await CapacitorVideoPlayer.setCurrentTime({ playerId: this.playerId, seektime: currentTime + seconds }); }
async seekBackward(seconds: number = 10) { const { value: currentTime } = await CapacitorVideoPlayer.getCurrentTime({ playerId: this.playerId });
await CapacitorVideoPlayer.setCurrentTime({ playerId: this.playerId, seektime: Math.max(0, currentTime - seconds) }); }
async setPlaybackSpeed(speed: number) { await CapacitorVideoPlayer.setRate({ playerId: this.playerId, rate: speed }); }
async getProgress() { const { value: currentTime } = await CapacitorVideoPlayer.getCurrentTime({ playerId: this.playerId }); const { value: duration } = await CapacitorVideoPlayer.getDuration({ playerId: this.playerId });
return { currentTime, duration, percentage: (currentTime / duration) * 100 }; }
async cleanup() { await CapacitorVideoPlayer.stopAllPlayers(); }}Plattformhinweise
Section titled “Plattformhinweise”- Erfordert iOS 10.0+
- Verwendet nativen AVPlayer
- Unterstützt Bild-in-Bild
- Hintergrundwiedergabe unterstützt
Android
Section titled “Android”- Erfordert Android 5.0 (API 21)+
- Verwendet ExoPlayer
- Unterstützt Chromecast
- Benutzerdefinierte Akzentfarben verfügbar
- Verwendet den HTML5-Videoplayer
- Nur eingebetteter Modus
- Eingeschränkte native Funktionen
Bewährte Methoden
Section titled “Bewährte Methoden”- Spieler aufräumen: Stoppen Sie die Spieler immer, wenn Sie fertig sind
- Fehler behandeln: Spieleraufrufe in Try-Catch einschließen
- Eindeutige Spieler-IDs: Verwenden Sie eindeutige IDs für mehrere Spieler
- Überprüfen Sie den Wiedergabestatus: Überprüfen Sie den Status vor dem Betrieb
- Ressourcenverwaltung: Spieler freigeben, um Speicher freizugeben