UNPKG

@rongcloud/plugin-wechat-rtc

Version:

@rongcloud/plugin-wechat-rtc

133 lines 3.82 kB
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