订阅音频辅流

更新时间: 2024/09/18 16:26:13

本文介绍如何实现订阅远端(安卓端、iOS、Web 端等)用户的音频辅流。

功能介绍

通常麦克风采集的音频为主流,而订阅音频辅流一般指订阅系统声卡的声音、伴音等音频。

功能原理

实现订阅音频辅流的本质是 NERTC SDK 提供一个独立的 rtmp 拉流通道,您只需要同时新建一个live-player 组件用于拉取音频辅流。

配置步骤

  1. 在接收到远端用户发布音频辅流的通知,即当 SDK 返回 on('stream-added',uid,slaveAudio) 回调后,调用 subscribe 方法订阅指定远端用户的音频辅流,并指定用户的 uid 和对应的 mediaType(slaveAudio)。
  2. 若您希望取消订阅该音频辅流,可以调用 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组件
})
此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 功能原理
  • 配置步骤
  • 示例代码