提交工单
咨询集成、功能及报价等问题
多源采集用于管理各个通道的音视频源配置,通过此能力您可以灵活快速的实现不同音视频内容的实时互动,如屏幕共享、混音等功能。
多源采集主要的能力特性与限制如下:
相关源码请查看官网示例源码,详情请参考 跑通示例源码 获取源码。
在使用多源采集功能之前,请确保:
实时语音产品仅支持设置音频采集源。
创建 ZegoExpressEngine 引擎流程,请参考实现视频通话的 创建引擎。
// 引入 ZegoExpressEngine
const zgEngine = window.require('zego-express-engine-electron/ZegoExpressEngine');
const zgDefines = window.require('zego-express-engine-electron/ZegoExpressDefines');
// 指定使用直播场景 (请根据实际情况填写适合你业务的场景)
const profile = {
appID : xxx,
appSign : "xxx",
scenario : zgDefines.ZegoScenario.Default
};
zgEngine.createEngine(profile)
.then(() => {
console.log("init succeed")
}).catch((e) => {
console.log("init failed", e)
});
/** 使用摄像头作为视频采集源 */
zgEngine.setVideoSource(zgDefines.ZegoVideoSourceType.Camera, 0, zgDefines.ZegoPublishChannel.Main)
Custom
,调用 enableCustomVideoCapture 接口设置要发送的视频帧数据类型,然后向 SDK 注册自定义视频采集插件 registerCustomVideoCapturePlugin。Player
和设置视频采集源所使用的媒体播放器实例索引,然后再使用刚创建的媒体播放器加载资源并播放。ScreenCapture
,并开启屏幕共享向 SDK 推屏幕共享视频数据,详情请参考 屏幕共享 。调用 setAudioSource 接口设置音频采集源。
仅设置音频采集源
/** 使用麦克风作为音频采集源 */
zgEngine.setAudioSource(zgDefines.ZegoAudioSourceType.Microphone, zgDefines.ZegoPublishChannel.Main)
设置音频采集源,同时设置混音配置
let audioSourceMixConfig;
/** 混入系统声卡播放的声音*/
audioSourceMixConfig.enableMixSystemPlayout = true;
/** 混入 SDK 播放的声音*/
audioSourceMixConfig.enableMixEnginePlayout = true;
/** 混入媒体播放器播放的声音*/
let mediaplayerList = []
mp = zgEngine.createMediaPlayer();
mediaplayerList.push(mp.getIndex())
audioSourceMixConfig.mediaPlayerIndexList = mediaplayerList;
/** 混入音效播放器播放的声音*/
let audioplayerList = []
audioEffectPlayer = zgEngine.createAudioEffectPlayer();
audioplayerList.push(audioEffectPlayer.getIndex())
audioSourceMixConfig.audioEffectPlayerIndexList = audioplayerList ;
/** 使用麦克风作为音频采集源,且设置混音配置 */
zgEngine.setAudioSourceWithConfig(zgDefines.ZegoAudioSourceType.Microphone, audioSourceMixConfig);
Custom
,并且向 SDK 注册音频采集插件 registerCustomAudioCapturePlugin。MediaPlayer
,调用 createMediaPlayer 接口创建媒体播放器,然后使用刚创建的媒体播放器加载资源并播放。登录房间及推流流程,请参考实现视频通话的 登录房间 及 推流 。
/** 使用屏幕共享作为视频采集源 */
zgEngine.setVideoSource(zgDefines.ZegoVideoSourceType.ScreenCapture, 0, zgDefines.ZegoPublishChannel.Main)
/** 使用媒体播放器作为音频采集源 */
zgEngine.setAudioSource(zgDefines.ZegoAudioSourceType.MediaPlayer, zgDefines.ZegoPublishChannel.Main)
结束推流流程,请参考实现视频通话的 停止推拉流。
/** 停止推流*/
zgEngine.stopPublishingStream(zgDefines.ZegoPublishChannel.Main);
如需采集屏幕视频与系统声音,请参考 屏幕共享。
支持,但需要注意相同的播放器实例仅能被一个通道占用。
组合使用视频源和音频源限制如下:
enableMicrophone
)。
如果您主路不需要麦克风声音,可通过 mutePublishStreamAudio
禁用音频推流保持麦克风启动。None
,否则会导致音频无法渲染。联系我们
文档反馈