媒体流采集
媒体流采集就是将 摄像头/麦克风 的数据采集成可以用于连麦的媒体流。这用到的方法是 getLocalStream, 通过调用这个 API 来获取本地的媒体流,之后再用于发布。
基本使用
通过传入的参数我们可以控制 分辨率/码率/帧率
try {
const localStream = await QNRTC.deviceManager.getLocalStream({
audio: {
enabled: true, // 开启音频
bitrate: 32, // 设置音频码率
},
video: {
enabled: true,
bitrate: 1024, // 设置视频分辨率
frameRate: 30, // 设置视频帧率
width: 1280,
height: 720, // 设置分辨率
},
});
// localStream 就是本地的媒体流对象
} catch (e) {
console.log('getLocalStream Error!', e);
}
纯音频连麦
在某些场景比如在线通话中,并不需要视频的参与,这里我们就推荐使用纯音频连麦。注意这里的纯音频是一个采集上的概念,也就是在采集端只采集麦克风不采集摄像头。而不是同时采集摄像头和麦克风,只在发送的时候将视频 mute 掉(纯音频的错误用法)。
所以纯音频连麦就是一个更换采集参数的过程,参见我们 getLocalStream 的说明, 只要不传入 video
字段或者将 video
字段的 enabled
设置为 false
就能不采集摄像头,
try {
const localStream = await QNRTC.deviceManager.getLocalStream({
audio: {
enabled: true, // 开启音频
bitrate: 32, // 设置音频码率
},
video: {
enabled: false, // 纯音频连麦(audio-only)
},
});
// localStream 就是本地的媒体流对象
} catch (e) {
console.log('getLocalStream Error!', e);
}