订阅音频辅流
更新时间: 2024/09/18 16:26:13
本文介绍如何实现订阅远端(安卓端、iOS、Web 端等)用户的音频辅流。
功能介绍
通常麦克风采集的音频为主流,而订阅音频辅流一般指订阅系统声卡的声音、伴音等音频。
功能原理
实现订阅音频辅流的本质是 NERTC SDK 提供一个独立的 rtmp 拉流通道,您只需要同时新建一个live-player 组件用于拉取音频辅流。
配置步骤
- 在接收到远端用户发布音频辅流的通知,即当 SDK 返回
on('stream-added',uid,slaveAudio)
回调后,调用subscribe
方法订阅指定远端用户的音频辅流,并指定用户的 uid 和对应的 mediaType(slaveAudio)。 - 若您希望取消订阅该音频辅流,可以调用
unsubscribe
方法并指定用户的 uid 和对应的 mediaType(slaveAudio)。
示例代码
//订阅音频辅流
client.on('stream-added', ({ uid, mediaType, isBigNumber }) => {
console.log('[stream-added 通知]', `${uid} 发布了自己的 ${mediaType}, isBigNumber: ${isBigNumber}`)
// mediaType: audio、slaveAudio、video、screenShare(slaveAudio表示音频辅流)
client.subscribe(uid, mediaType).then(res => {
console.log(`订阅 ${uid} 的 ${mediaType} 成功,开始拉流:${res.url}`)
//由于此时mediaType为slaveAudio,该url是新的url,需要新建一个live-player组件,并且复制src为该url,用于拉取音频辅流
})
})
//取消订阅音频辅流
client.unsubscribe(uid, 'slaveAudio').then(res => {
logger.log('开始订阅音频辅流 完成: ', uid)
//清除screenShare的live-player组件
})
此文档是否对你有帮助?