Files
OpenFrame/types/youtube.d.ts
T
Yusuf İpek 0228020041 feat(video-card): add edit, versioning, and delete functionality with dialogs
- Implemented edit dialog for updating video title and description.
- Added functionality to create new video versions with URL validation.
- Included delete confirmation dialog for video removal.
- Enhanced UI with loading indicators and error handling.
- Updated video card layout for better user interaction.

feat(youtube): extend YT namespace with playback rate methods

- Added methods to set and get playback rate.
- Included method to retrieve available playback rates.
2026-02-07 08:17:25 +03:00

85 lines
1.8 KiB
TypeScript

// YouTube IFrame API type declarations
interface Window {
YT: typeof YT;
onYouTubeIframeAPIReady: (() => void) | undefined;
}
declare namespace YT {
class Player {
constructor(
elementId: string | HTMLElement | null,
options?: PlayerOptions
);
playVideo(): void;
pauseVideo(): void;
stopVideo(): void;
seekTo(seconds: number, allowSeekAhead?: boolean): void;
mute(): void;
unMute(): void;
isMuted(): boolean;
setVolume(volume: number): void;
getVolume(): number;
getCurrentTime(): number;
getDuration(): number;
getPlayerState(): PlayerState;
setPlaybackRate(suggestedRate: number): void;
getPlaybackRate(): number;
getAvailablePlaybackRates(): number[];
destroy(): void;
}
interface PlayerOptions {
width?: number | string;
height?: number | string;
videoId?: string;
playerVars?: PlayerVars;
events?: PlayerEvents;
}
interface PlayerVars {
autoplay?: 0 | 1;
controls?: 0 | 1;
disablekb?: 0 | 1;
enablejsapi?: 0 | 1;
fs?: 0 | 1;
iv_load_policy?: 1 | 3;
modestbranding?: 0 | 1;
rel?: 0 | 1;
showinfo?: 0 | 1;
start?: number;
end?: number;
}
interface PlayerEvents {
onReady?: (event: PlayerEvent) => void;
onStateChange?: (event: OnStateChangeEvent) => void;
onPlaybackQualityChange?: (event: PlayerEvent) => void;
onPlaybackRateChange?: (event: PlayerEvent) => void;
onError?: (event: OnErrorEvent) => void;
onApiChange?: (event: PlayerEvent) => void;
}
interface PlayerEvent {
target: Player;
}
interface OnStateChangeEvent extends PlayerEvent {
data: PlayerState;
}
interface OnErrorEvent extends PlayerEvent {
data: number;
}
enum PlayerState {
UNSTARTED = -1,
ENDED = 0,
PLAYING = 1,
PAUSED = 2,
BUFFERING = 3,
CUED = 5,
}
}