Skip to content

媒体流发布

媒体流发布相关的 API,用于控制本地音视频流的发布。

音频发布

publishLocalAudioStream

设置是否推送音频流。

方法签名

typescript
publishLocalAudioStream(enabled: boolean): Promise<void>

参数说明

参数类型描述
enabledboolean是否开启/关闭本地音频流推送
- true: 开启音频流推送
- false: 关闭音频流推送

说明

  • SDK 默认设置推送音频流,在加入频道前也可以调用此接口修改默认值
  • 加入频道后调用不会停止本地音频采集

使用示例

javascript
// 开启音频推流
await engine.publishLocalAudioStream(true);

// 关闭音频推流
await engine.publishLocalAudioStream(false);

isLocalAudioStreamPublished

查询是否设置推送音频流。

方法签名

typescript
isLocalAudioStreamPublished(): boolean

返回值

  • true: 已设置推送
  • false: 未设置推送

muteLocalMic

静音/取消静音本地麦克风。

方法签名

typescript
muteLocalMic(mute?: boolean): void

参数说明

参数类型描述
muteboolean(可选) true: 本地音频静音
false: 不静音,默认 false

使用示例

javascript
// 静音本地麦克风
engine.muteLocalMic(true);

// 取消静音
engine.muteLocalMic(false);

// 默认取消静音
engine.muteLocalMic();

视频发布

publishLocalVideoStream

设置是否推送视频流。

方法签名

typescript
publishLocalVideoStream(enabled: boolean): Promise<void>

参数说明

参数类型描述
enabledboolean是否开启/关闭本地视频流推送
- true: 开启视频流推送
- false: 关闭视频流推送

使用示例

javascript
// 开启视频推流
await engine.publishLocalVideoStream(true);

// 关闭视频推流
await engine.publishLocalVideoStream(false);

isLocalVideoStreamPublished

查询是否设置推送视频流。

方法签名

typescript
isLocalVideoStreamPublished(): boolean

muteLocalCamera

静音/取消静音本地摄像头(发送黑帧)。

方法签名

typescript
muteLocalCamera(mute: boolean): Promise<void>

参数说明

参数类型描述
mutebooleantrue: 本地视频静音(发送黑帧)
false: 取消静音

使用示例

javascript
// 静音本地摄像头
await engine.muteLocalCamera(true);

// 取消静音
await engine.muteLocalCamera(false);

setLocalViewConfig

设置本地预览视图。

方法签名

typescript
setLocalViewConfig(
  view: TMLVideoElement | string | null,
  track: AliRtcVideoTrack
): Promise<void>

参数说明

参数类型描述
viewHTMLVideoElement | string | null视频元素或元素 ID
trackAliRtcVideoTrack视频轨道类型
- 1: 相机流
- 2: 屏幕共享流

使用示例

javascript
// 设置本地预览
await engine.setLocalViewConfig('local-video', 1);

// 停止本地预览
await engine.setLocalViewConfig(null, 1);

muteLocalScreen

静音/取消静音本地屏幕共享(发送黑帧)。

方法签名

typescript
muteLocalScreen(mute: boolean): Promise<void>

参数说明

参数类型描述
mutebooleantrue: 本地屏幕共享静音(发送黑帧)
false: 取消静音

使用示例

javascript
// 静音本地屏幕共享
await engine.muteLocalScreen(true);

// 取消静音
await engine.muteLocalScreen(false);

setEnableDualVideoStream

设置是否开启大小流。

方法签名

typescript
setEnableDualVideoStream(
  enabled: boolean,
  options?: AliRtcDualVideoPluginOptions
): void

参数说明

参数类型描述
enabledboolean是否开启大小流
optionsAliRtcDualVideoPluginOptions(可选) 大小流配置

使用示例

javascript
// 开启大小流
engine.setEnableDualVideoStream(true, {
  width: 320,
  height: 240,
  frameRate: 15,
});

屏幕共享发布

publishLocalScreenShareStream

控制屏幕共享流的发布状态。

方法签名

typescript
publishLocalScreenShareStream(enabled: boolean, config?: AliRtcScreenShareStartConfig): Promise<void>

参数说明

参数类型描述
enabledboolean是否发布屏幕共享流
configAliRtcScreenShareStartConfig(可选) 屏幕共享配置

使用示例

javascript
// 开始发布屏幕共享流
await engine.publishLocalScreenShareStream(true);

// 停止发布屏幕共享流
await engine.publishLocalScreenShareStream(false);

// 开始发布并配置参数
await engine.publishLocalScreenShareStream(true, {
  audio: true,
});

音频参数设置

setAudioProfile

设置音频编码属性。

方法签名

typescript
setAudioProfile(profileKey: AudioProfileKey): Promise<void>

参数说明

参数类型描述
profileKeyAudioProfileKey音频配置键值

使用示例

javascript
await engine.setAudioProfile('MUSIC_HIGH_QUALITY');