实时音视频云

  • deviceManager-采集设备管理

    最近更新时间:2018-08-03 10:30:00

    deviceManager 是一个用来管理本地媒体设备的对象,一般用来捕获本地的媒体流

    成员

    name 类型 介绍
    deviceInfo MediaDeviceInfo[] 房间当前的设备列表
    audioDevice MediaDeviceInfo 当前使用的音频设备, @default 代表使用系统默认设备
    videoDevice MediaDeviceInfo 当前使用的视频设备, @default 代表使用系统默认设备

    getLocalStream 获取本地媒体流 (异步)

    获取本地的媒体数据

    参数类型备注
    recordConfig
    {
    audio?: {
    enabled: boolean,
    bitrate?: number,
    buffer?: boolean,
    },
    video?: {
    enabled: boolean,
    frameRate?: number,
    height?: number,
    width?: number,
    bitrate?: number
    },
    screen?: {
    enabled: boolean,
    bitrate?: number,
    height: number,
    width: number,
    source?: "window" | "screen",
    },
    }
    带 ? 的为可选项
    enabled 代表是否开启视频/音频轨道
    bitrate 代表码率(kb/s),默认音频 64, 视频 512
    frameRate 代表视频帧率
    width/height 代表视频分辨率
    screen 字段代表开启屏幕录制


    返回 类型 备注
    stream Stream 本地的 stream 对象



    如果不传入参数则使用默认参数:开启音视频、视频分辨率 640*480、码率 600 kbps。

    screen 字段代表开启屏幕共享,不能和 video 字段同时打开,关于屏幕共享功能详细见 屏幕分享使用说明
    audio 字段中 buffer 开启代表开启外部音频输入,关于此功能详细见 外部音频输入使用说明

    try {
      const localStream = await QNRTC.deviceManager.getLocalStream({
        audio: { enabled: true },
        video: { enabled: true, bitrate: 1024, frameRate: 30 },
      });
    } catch (e) {
      console.log('getLocalStream Error!', e);
    }
    
    // or use promise
    QNRTC.deviceManager.getLocalStream({
      audio: { enabled: true },
      video: { enabled: true, bitrate: 1024, frameRate: 30 },
    }).then(localStream => {
      ...
    }).catch(e => {
      console.log('getLocalStream Error!', e);
    })
    

    setVolume 设置采集音量 (同步)

    参数 类型 备注
    value number 基于当前音量的增益数值,1 不改变,0 静音

    Safari 暂时不支持该方法

    QNRTC.deviceManager.setVolume(10);
    

    Event: device-update 检测到设备列表更新 (事件)

    QNRTC.deviceManager.on("device-update", () => {
      console.log("current devices", QNRTC.deviceManager.deviceInfo);
    });
    

    changeDevice 切换采集设备 (同步)

    参数 类型 备注
    type string "audio" 或者 "video"
    deviceId string 设备 id

    使用指定的 deviceId 采集, 可以在发布中途调用
    如果在发布中途调用, safari 11+/chrome 65+ 会进行流的热替换
    其余版本会用新的流自动重新发布一次

    QNRTC.deviceManager.changeDevice("video", "your device id");
    
    以上内容是否对您有帮助?
  • Close