index.d.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. export interface Web265JsExtraConfig {
  2. moovStartFlag?: boolean
  3. rawFps?: number
  4. autoCrop?: boolean
  5. core?: 0 | 1
  6. coreProbePart?: number
  7. ignoreAudio?: 0 | 1
  8. probeSize?: number
  9. }
  10. export interface Web265JsConfig {
  11. /**
  12. *The type of the file to be played, do not fill in the automatic identification
  13. */
  14. type?: 'mp4' | 'hls' | 'ts' | 'raw265' | 'flv'
  15. /**
  16. * playback window dom id value
  17. */
  18. player: string
  19. /**
  20. * the video window width size
  21. */
  22. width: number
  23. /**
  24. * the video window height size
  25. */
  26. height: number
  27. /**
  28. * player token value
  29. */
  30. token: string
  31. extInfo?: Web265JsExtraConfig
  32. }
  33. export interface Web265JsMediaInfo {
  34. audioNone: boolean
  35. durationMs: number
  36. fps: number
  37. sampleRate: number
  38. size: {
  39. height: number
  40. width: number
  41. }
  42. videoCodec: 0 | 1
  43. isHEVC: boolean
  44. videoType: Web265JsConfig['type']
  45. }
  46. interface New265WebJs {
  47. onSeekFinish(): void
  48. onRender(
  49. width: number,
  50. height: number,
  51. imageBufferY: typeof Uint8Array,
  52. imageBufferB: typeof Uint8Array,
  53. imageBufferR: typeof Uint8Array
  54. ): void
  55. onLoadFinish(): void
  56. onPlayTime(videoPTS: number): void
  57. onPlayFinish(): void
  58. onCacheProcess(cPts: number): void
  59. onReadyShowDone(): void
  60. onLoadCache(): void
  61. onLoadCacheFinshed(): void
  62. onOpenFullScreen(): void
  63. onCloseFullScreen(): void
  64. do(): void
  65. pause(): void
  66. isPlaying(): boolean
  67. setRenderScreen(state: boolean): void
  68. seek(pts: number): void
  69. setVoice(volume: number): void
  70. mediaInfo(): Web265JsMediaInfo
  71. fullScreen(): void
  72. closeFullScreen(): void
  73. playNextFrame(): void
  74. snapshot(): void
  75. release(): void
  76. setPlaybackRate(rate: number): void
  77. getPlaybackRate(): number
  78. }
  79. declare type new265webJsFn = (
  80. url: string,
  81. config: Web265JsConfig
  82. ) => New265WebJs
  83. declare global {
  84. interface Window {
  85. new265webjs: new265webJsFn
  86. }
  87. }
  88. export default class H265webjsModule {
  89. static createPlayer: (url: string, config: Web265JsConfig) => New265WebJs
  90. static clear(): void
  91. }