trtc-electron-sdk
Version:
trtc electron sdk
168 lines (167 loc) • 5.86 kB
TypeScript
import { V2LiveRotation, V2LiveFillMode, V2LivePlayerEvent } from '../live_define';
/**
* 腾讯云直播播放器
*
* @example
*
* // 创建/销毁 V2LivePlayer 对象,以及回调事件监听。
*
* import { V2LivePlayer } from 'trtc-electron-sdk';
* const livePlayer = V2LivePlayer.createV2LivePlayer();
*
* subscribeEvents = (livePlayer) => {
* livePlayer.on('onError', (errcode, errmsg) => {
* console.info('livePlayer_demo: onError :' + errcode + " msg" + errmsg);
* });
* };
*
* V2LivePlayer.releaseV2livePlayer(livePlayer);
*
*/
export declare class V2LivePlayer {
private livePlayer;
private playerVideoRender;
private pixelFormat;
private eventEmitter;
private logger;
/**
* 创建 V2LivePlayer 实例
*
* @return {V2LivePlayer} - 播放器实例
*/
static createV2LivePlayer(): V2LivePlayer;
/**
* 析构 V2LivePlayer 对象
*
* @param {V2LivePlayer} livePlayer - 推流器实例
*/
static releaseV2LivePlayer(livePlayer: V2LivePlayer): void;
constructor();
destroy(): void;
/**
* 监听 LivePlayer 对象事件。
*
* @param {V2LivePlayerEvent} event - 事件名称。
* @param {Function} listener - 事件回调函数。
*/
on(event: V2LivePlayerEvent | symbol, listener: (...args: any[]) => void): void;
/**
* 取消监听 LivePlayer 对象事件。
*
* @param {V2LivePlayerEvent} event - 事件名称。
* @param {Function} listener - 事件回调函数。
*/
off(event: V2LivePlayerEvent | symbol, listener: (...args: any[]) => void): void;
/**
* 设置播放器的视频渲染 View, 播放器的视频最终会显示到传入的 View 上。
*
* @param {HTMLElement | null} view - 播放器的视频渲染 View。
*/
setRenderView(view: HTMLElement | null): void;
/**
* 设置播放器画面的旋转角度, 默认不旋转。
*
* @param {V2LiveRotation} rotation - 播放器画面的旋转角度, 参考 V2LiveRotation 的定义。
* @return {Number} - 参考 V2LiveCode 的定义
*/
setRenderRotation(rotation: V2LiveRotation): number;
/**
* 设置画面的填充模式
*
* @param {V2LiveFillMode} mode - 画面填充模式,参考 V2LiveFillMode 的定义。
* @return {Number} - 参考 V2LiveCode 的定义
*/
setRenderFillMode(mode: V2LiveFillMode): number;
/**
* 开始播放音视频流
*
* @param {String} url - 音视频流地址
* @return {Number} - 参考 V2LiveCode 的定义
*/
startPlay(url: string): number;
/**
* 停止播放音视频流
*
* @return {Number} - 参考 V2LiveCode 的定义
*/
stopPlay(): number;
/**
* 播放器是否正在播放中
*
* @return {Number} - 是否正在播放中, 1 表示正在播放中, 0 表示未在播放中
*/
isPlaying(): number;
/**
* 暂停播放器的音频流
*
* @return {Number} - 参考 V2LiveCode 的定义
*/
pauseAudio(): number;
/**
* 恢复播放器的音频流
*
* @return {Number} - 参考 V2LiveCode 的定义
*/
resumeAudio(): number;
/**
* 暂停播放器的视频流
*
* @return {Number} - 参考 V2LiveCode 的定义
*/
pauseVideo(): number;
/**
* 恢复播放器的视频流
*
* @return {Number} - 参考 V2LiveCode 的定义
*/
resumeVideo(): number;
/**
* 设置播放器音量
*
* @param {Number} volume - 音量大小,取值范围0 - 100。【默认值】: 100
* @return {Number} - 参考 V2LiveCode 的定义
*/
setPlayoutVolume(volume: number): number;
/**
* 设置播放器缓存自动调整的最小和最大时间
*
* @param {Number} minTime - 缓存自动调整的最小时间,取值需要大于0。【默认值】:1
* @param {Number} maxTime - 缓存自动调整的最大时间,取值需要大于0。【默认值】:5
* @return {Number} - 参考 V2LiveCode 的定义
*/
setCacheParams(minTime: number, maxTime: number): number;
/**
* 直播流无缝切换,支持 FLV 和 LEB
*
* @param {String} url - 新的拉流地址
* @return {Number} - 参考 V2LiveCode 的定义
*/
switchStream(newUrl: string): number;
/**
* 启用播放音量大小提示
*
* @param {Number} intervalMs - onPlayoutVolumeUpdate 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms;【默认值】:0,不开启。
* @return {Number} - 参考 V2LiveCode 的定义
*/
enableVolumeEvaluation(intervalMs: number): number;
private enableObserveVideoFrame;
private _createPlayerRender;
private _destroyPlayerRender;
private _setVideoRenderBuffer;
private _addVideoRenderCallback;
private _removeVideoRenderCallback;
private _playerVideoRenderCallback;
private initObserver;
fire(event: string, ...args: any): void;
private handleOnError;
private handleOnWarning;
private handleOnVideoResolutionChanged;
private handleOnConnected;
private handleOnVideoPlaying;
private handleOnAudioPlaying;
private handleOnVideoLoading;
private handleOnAudioLoading;
private handleOnPlayoutVolumeUpdate;
private handleOnStatisticsUpdate;
private handleOnStreamSwitched;
}