123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- declare class NodePlayer {
- /**
- * 是否开启控制台调试信息输出
- * @param enable 开关
- */
- static debug(enable: boolean): void;
- /**
- * 回调形式的wasm异步加载
- * @param cb 回调函数
- */
- static load(cb: () => void): void;
- /**
- * async/await形式的wasm异步加载
- */
- static asyncLoad(): void;
- /**
- * 自动测试浏览器是否支持MSE硬件解码播放
- * 如不支持,仍然使用软解码。
- * 紧随 new 后调用,不调用则只使用软解。
- * 注意:使用MSE后不支持累积延迟消除
- */
- useMSE(): void;
- /**
- * 是否开启屏幕常亮
- * 在手机浏览器上,canvas标签渲染视频并不会像video标签那样保持屏幕常亮
- * 如果需要该功能, 可以调用此方法, 会有少量cpu消耗, pc浏览器不会执行
- */
- setKeepScreenOn(): void;
- /**
- * 绑定视图id
- * @param viewId canvas视图id
- */
- setView(viewId: string): void;
- /**
- * 设置视频缩放模式
- * 当视频分辨率比例与canvas显示区域比例不同时,缩放效果不同:
- * 0 视频画面完全填充canvas区域,画面会被拉伸
- * 1 视频画面做等比缩放后,对齐canvas区域,画面不被拉伸,但有黑边
- * 2 视频画面做等比缩放后,完全填充canvas区域,画面不被拉伸,没有黑边,但画面显示不全
- * 注意:只在软解时有效
- * @param mode 缩放模式
- */
- setScaleMode(mode: number): void;
- /**
- * 设置最大缓冲时长,单位毫秒
- * 注意:只在软解时有效
- * @param bufferTime
- */
- setBufferTime(bufferTime: number): void;
- /**
- * 设置音量大小,取值0.0 — 1.0
- * 当为0.0时,完全无声
- * 当为1.0时,最大音量,默认值
- * @param volume 音量大小,浮点类型
- */
- setVolume(volume: number): void;
- /**
- * 设置超时时长, 单位秒,只在软解时有效
- * 在连接成功之前和播放中途,如果超过设定时长无数据返回,则回调timeout事件
- * @param time 超时时间, 单位秒
- */
- setTimeout(time: number): void;
- /**
- * 重置视图大小,将自动改变标签的高宽和css高宽
- * @param width 新视频区域宽
- * @param height 新视频区域高
- */
- resizeView(width: number, height: number): void;
- /**
- * 通知播放器画布尺寸改变,计算调整渲染尺寸
- * 也可以用于旋转画布
- * @param rotate 旋转角度
- * 可选0-默认,90,270
- */
- onResize(rotate: number): void;
- /**
- * 截图
- * @param filename 截图后的文件名
- * @param format 截图的格式,可选png或jpeg
- * @param quality 可选参数,当格式是jpeg时,压缩质量,取值0.0 ~ 1.0
- */
- screenshot(filename: string, format: string, quality: number): void;
- /**
- * 开始播放
- * @param url http-flv,ws-flv 直播地址
- */
- start(url: string): void;
- /**
- * 停止播放
- */
- stop(): void;
- /**
- * 全屏播放,iOS不支持
- */
- fullscreen(): void;
- /**
- * 恢复音频
- */
- audioResume(): void;
- /**
- * 清理画布为黑色背景
- * 用于canvas重用进行多个流切换播放时,将上一个画面清理
- * 避免后一个视频播放之前出现前一个视频最后一个画面
- * 在stop后调用
- */
- clearView(): void;
- /**
- * 释放播放器
- * @param loseContext 是否完全释放canvas上的WebGL context,默认不传为false。
- * loseContext 用于通过代码多次创建canvas ( document.createElement('canvas') ),
- * 可以传true来释放相应的GL context 避免出现
- * Too many active WebGL contexts. Oldest context will be lost.
- * 这样的警告
- */
- release(loseContext: boolean): void;
- /**
- * 绑定事件监听器
- * @param event 事件
- * @param handler 处理器
- *
- * 'start'事件 当连接成功并收到数据
- * 'stop' 事件 当本地stop或远端断开连接
- * 'error'事件 当连接错误或播放中发生错误,error 一个参数
- * 'videoInfo'事件 当解析出视频信息时回调,width,height,codec 三个参数
- * ‘videoSei’ 事件 当解析出sei信息时回调,sei 一个参数
- * ‘videoFrame’ 事件 当渲染一帧视频时回调,pts,dts 两个参数
- * ’audioInfo‘事件 当解析出音频信息时回调,samplerate,channels,codec 三个参数
- * ’stats‘事件 每秒回调一次,包含当前缓冲区时长,fps,音视频码率(bit),stats(对象)一个参数
- * 'buffer'事件 empty,buffering,full 三种状态, state一个参数
- * 'timeout'事件 当设定的超时时间内无数据返回,则回调
- */
- on(event: string, listener: (...args: any[]) => void): void;
- }
|