react-native-youtube-bridge
Version:
🎥 Easy-to-use YouTube player for React Native with cross-platform support
43 lines • 1.99 kB
TypeScript
import type WebView from 'react-native-webview';
import type { PlayerEvents } from '@react-native-youtube-bridge/core';
declare class WebviewYoutubePlayerController {
private webViewRef;
private commandId;
private pendingCommands;
constructor(webViewRef: React.RefObject<WebView | null>);
static createInstance(webViewRef: React.RefObject<WebView | null>): WebviewYoutubePlayerController;
getPendingCommands(): Map<string, (result: unknown) => void>;
play(): Promise<void>;
pause(): Promise<void>;
stop(): Promise<void>;
seekTo(seconds: number, allowSeekAhead?: boolean): Promise<void>;
setVolume(volume: number): Promise<void>;
getVolume(): Promise<number>;
mute(): Promise<void>;
unMute(): Promise<void>;
isMuted(): Promise<boolean>;
getCurrentTime(): Promise<number>;
getDuration(): Promise<number>;
getVideoUrl(): Promise<string>;
getVideoEmbedCode(): Promise<string>;
getPlaybackRate(): Promise<number>;
getAvailablePlaybackRates(): Promise<number[]>;
getPlayerState(): Promise<number>;
setPlaybackRate(suggestedRate: number): Promise<void>;
getVideoLoadedFraction(): Promise<number>;
loadVideoById(videoId: string, startSeconds?: number, endSeconds?: number): Promise<void>;
cueVideoById(videoId: string, startSeconds?: number, endSeconds?: number): Promise<void>;
setSize(width: number, height: number): Promise<void>;
cleanup(): Promise<void>;
updateProgressInterval(interval: number): Promise<void>;
private executeCommand;
/**
* Updates player event callbacks. No-op in WebView implementation.
* This method exists for interface compatibility with web implementation.
* @param _newCallbacks - Event callbacks (ignored in WebView)
*/
updateCallbacks(_newCallbacks: Partial<PlayerEvents>): void;
destroy(): Promise<void>;
}
export default WebviewYoutubePlayerController;
//# sourceMappingURL=WebviewYoutubePlayerController.d.ts.map