global.d.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // types for https://developers.google.com/youtube/iframe_api_reference
  2. // not everything is listed here
  3. declare var onYouTubeIframeAPIReady: () => void;
  4. declare namespace YT {
  5. interface PlayerOptions {
  6. height: number | string;
  7. width: number | string;
  8. videoId?: string;
  9. events?: Partial<PlayerEvents>;
  10. playerVars?: Partial<PlayerVars>;
  11. }
  12. type PlayerReadyListener = (event: unknown) => void;
  13. type PlayerStateChangeListener = (event: { data: PlayerState }) => void;
  14. type PlayerErrorListener = (event: { data: PlayerError }) => void;
  15. interface PlayerEvents {
  16. onReady: PlayerReadyListener;
  17. onStateChange: PlayerStateChangeListener;
  18. onError: PlayerErrorListener;
  19. }
  20. interface PlayerVars {
  21. controls: number;
  22. disablekb: number;
  23. modestbranding: number;
  24. rel: number;
  25. iv_load_policy: number;
  26. fs: number;
  27. }
  28. enum PlayerState {
  29. UNSTARTED = -1,
  30. ENDED = 0,
  31. PLAYING = 1,
  32. PAUSED = 2,
  33. BUFFERING = 3,
  34. CUED = 5,
  35. }
  36. enum PlayerError {
  37. INVALID_PARAM = 2,
  38. PLAYBACK_ERROR = 5,
  39. NOT_FOUND = 100,
  40. CANNOT_EMBED = 101,
  41. CANNOT_EMBED_ALT = 150,
  42. }
  43. class Player {
  44. constructor(element: string | HTMLElement, options: PlayerOptions);
  45. loadVideoById(id: string, startSeconds?: number): void;
  46. cueVideoById(id: string, startSeconds?: number): void;
  47. playVideo(): void;
  48. pauseVideo(): void;
  49. stopVideo(): void;
  50. seekTo(seconds: number, allowSeekAhead?: boolean): void;
  51. getVideoLoadedFraction(): number;
  52. getPlayerState(): PlayerState;
  53. getCurrentTime(): number;
  54. getDuration(): number;
  55. mute(): void;
  56. unMute(): void;
  57. isMuted(): boolean;
  58. setVolume(volume: number): boolean;
  59. getVolume(): number;
  60. addEventListener(event: 'onReady', listener: PlayerReadyListener): void;
  61. addEventListener(
  62. event: 'onStateChange',
  63. listener: PlayerStateChangeListener
  64. ): void;
  65. addEventListener(event: 'onError', listener: PlayerErrorListener): void;
  66. }
  67. }