指定该音视频流是否包含音频资源
指定是否开启音效处理
声学回声消除
默认为 true
,即开启。如果你不需要启用声学回声消除,将 AEC
设为 false
。
Note
Safari 不支持此设置。
自动增益控制
默认为 true
,即开启。如果你不需要启用自动增益控制,将 AGC
设为 false
。
Note
Safari 不支持此设置。
自动噪声抑制
默认为 true
,即开启。如果你不需要启用自动噪声抑制,将 ANS
设为 false
。
Note
指定音视频流的音频源
Chrome 插件 ID
ASCII 字符,字符串长度大于 0 小于 256 字节。
使用 Chrome 屏幕共享插件需要设置该属性,详见 Chrome 屏幕共享插件。
Note
Chrome 72 及以后的版本支持无插件屏幕共享。如果你没有填写 extensionId
,则默认使用无插件的屏幕共享方式;如果填写了 extensionId
,则需使用插件共享屏幕。
指定使用前置/后置摄像头来采集视频
在移动设备上,可以设置该参数选择使用前置或后置摄像头:
"user"
:前置摄像头"environment"
:后置摄像头Firefox 浏览器的屏幕共享模式
如果你使用的是 Firefox 浏览器,设置该属性可以开启屏幕共享:
"screen"
: (默认值)共享屏幕"application"
: 共享某一个应用的所有窗口"window"
: 共享某一个应用的某一个窗口详细用法见Firefox 屏幕共享。
指定本地视频流在本地显示的时候是否要做镜像翻转(不适用于屏幕共享)
true
:(默认)镜像。false
:不镜像。我们建议在使用前置摄像头时镜像翻转,使用后置摄像头时不做镜像翻转。
自从
3.2.0
设置视频传输优化策略。
"motion"
: 流畅优先。大部分情况下,SDK 不会降低帧率,但是可能会降低发送分辨率。"detail"
: 清晰优先。大部分情况下,SDK 不会降低发送分辨率,但是可能会降低帧率。如果该字段留空,则使用 SDK 默认的优化策略:
screen
属性设为 true
),SDK 默认的优化策略为清晰优先。指定该音视频流是否包含屏幕共享功能,详见 进行屏幕共享。
音视频流 ID
请将音视频流 ID 设置为与 uid 相同,可通过 Client.join 方法的回调获取。
指定该音视频流是否包含视频资源
指定音视频流的视频源
Note
视频源如来自 canvas,需要在 canvas 内容不变时,每隔 1 秒重新绘制 canvas 内容,以保持视频流的正常发布。
定义 createStream 中的
spec
参数的接口。创建音视频流
创建音视频流有两种方法:
设置
audio
、video
及screen
属性var stream = AgoraRTC.createStream({ streamID: uid, audio:true, video:true, screen:false });
设置
audioSource
和videoSource
属性与前一种方法相比,设置 audioSource 和 videoSource 属性可以指定创建的音视频流要使用的音视频 Track。使用这种方法可以在创建音视频流之前对音视频进行处理。
通过
mediaStream
方法从MediaStreamTrack
获得音视频 Track,然后指定audioSource
和videoSource
,如下所示:navigator.mediaDevices.getUserMedia( {video: true, audio: true} ).then(function(mediaStream){ var videoSource = mediaStream.getVideoTracks()[0]; var audioSource = mediaStream.getAudioTracks()[0]; // 对 videoSource 和 audioSource 进行处理后 var localStream = AgoraRTC.createStream({ video: true, audio: true, videoSource: videoSource, audioSource: audioSource }); localStream.init(function(){ client.publish(localStream, function(e){ //... }); }); });
Note:
MediaStreamTrack
对象是指浏览器原生支持的MediaStreamTrack
对象,具体用法和浏览器支持状况请参考 MediaStreamTrack API 说明。目前音视频前处理功能仅支持 Chrome 浏览器。