@rongcloud/plugin-wechat-rtc
Version:
@rongcloud/plugin-wechat-rtc
133 lines • 3.82 kB
TypeScript
import { EventEmitter, ILogger } from '@rongcloud/engine';
import { RCAudioOutputDevice } from '../components/enum';
import { RCMediaType } from './enums/RCMediaType';
export interface IRemoteStreamEventListener {
/**
* stream 有音频的情况下,增加视频发布
*/
onVideoPublish(): void;
/**
* stream 有视频的情况下,增加音频发布
*/
onAudioPublish(): void;
/**
* 仅视频取消发布,音频未取消发布
*/
onVideoUnpublish(): void;
/**
* 仅音频取消发布,视频未取消发布
*/
onAudioUnpublish(): void;
}
export declare class RCRemoteStream extends EventEmitter {
private readonly _logger;
private readonly _userId;
private readonly _tag;
private _mediaType;
private _ownerDisableVideo;
private _ownerMuteAudio;
private _isSubscribed;
private _listener;
private _rtmpUrl?;
constructor(_logger: ILogger, _userId: string, _tag: string, _mediaType: RCMediaType);
/**
* @deprecated(v5.2.0)该方法已废弃,请通过监听房间 `onAudioMuteChange` 与 `onVideoMuteChange` 事件替代
*/
registerStreamEventListener(listener: IRemoteStreamEventListener): void;
/**
* 调整 stream 的 mediaType 值
* @param mediaType 媒体类型
* @private
*/
__innerSetMediaType(mediaType: RCMediaType): void;
private _callListener;
/**
* 给 stream 赋值 rtmpUrl,设置拉流地址
* @param rtmpUrl 拉流地址
* @private
*/
__innerSetRtmpUrl(rtmpUrl: string): void;
/**
* 设置音频资源是否被发布者禁用
* @param enable 为 true 时,代表被禁用
* @returns boolean 是否发生变更
* @private
*/
__innerSetOwnerMuteAudio(status: boolean): boolean;
/**
* 设置视频资源是否被发布者禁用
* @param enable 为 true 时,代表被禁用
* @returns boolean 是否发生变更
* @private
*/
__innerSetOwnerDisableVideo(status: boolean): boolean;
/**
* @private
*/
__innerSetIsSubscribed(isSub: boolean): void;
/**
* 获取音频资源是否被发布者禁用
* @returns boolean
*/
isOwnerMuteAudio(): boolean;
/**
* 获取视频资源是否被发布者禁用
* @returns boolean
*/
isOwnerDisableVideo(): boolean;
/**
* stream 是否被订阅
* @returns boolean
*/
isSubscribed(): boolean;
/**
* stream 中是否有视频资源
* @returns boolean
*/
hasVideo(): boolean;
/**
* stream 中是否有音频资源
* @returns boolean
*/
hasAudio(): boolean;
/**
* 获取 stream 的拉流地址
* @returns 返回拉流地址
*/
getRTMPUrl(): string | undefined;
/**
* 获取 stream 的资源名称
* @returns 返回资源名称
*/
getTag(): string;
/**
* 获取 stream 的发布者
* @returns 资源发布者用户 Id
*/
getUserId(): string;
/**
* 获取 stream 的 Id,由“资源发布者的用户名_资源名”组成
* @returns 返回 stream Id
*/
getMsid(): string;
/**
* 获取 stream 里面的资源类型
* @returns 返回媒体类型
*/
getMediaType(): RCMediaType;
/**
* 本端静音
*/
mute(): void;
/**
* 本端取消静音
*/
unmute(): void;
/**
* 该接口已废弃,请使用 `room.setAudioOutputDevice(mode)` 替代
* @param mode 包含扬声器或听筒
* @deprecated 仅 iOS 设备下有效;部分 Android 设备因小程序底层 live-pusher 实现存在 Bug,调用无效。
*/
setAudioOutputDevice(mode: RCAudioOutputDevice): void;
}
//# sourceMappingURL=RCRemoteStream.d.ts.map