QNAudioSourceMixer
1. 当前仅支持基于 QNMicrophoneAudioTrack 的音效混音操作
2. 混音需要加入房间并且成功发布后才会生效,因此,需要注意调用的时机
Index
Core Methods
        
Core Methods
createAudioSource[1/2]
- QNAudioSource createAudioSource(int sourceID)
 - 
    
使用非阻塞模式创建音源混音配置类实例,每一路参与混音的音源都需要对应一个 QNAudioSource 实例
Parameters- 
        sourceID: int
音源文件的唯一标识符,需自行生成并维护,且确保唯一
 
Returns 音源混音实例 - 
        
 
createAudioSource[2/2]
- QNAudioSource createAudioSource(int sourceID, boolean blockingMode)
 - 
    
创建音源混音配置类实例,每一路参与混音的音源都需要对应一个 QNAudioSource 实例
当外部送入 PCM 数据进行混音时,可以使用:
1. 阻塞模式,此时外部数据可以持续送入 SDK,当 SDK 缓存的待混音数据过多时,会阻塞 QNAudioSourceMixer.pushAudioFrame 接口,直到缓存数据被 SDK 混音使用,
2. 非阻塞模式,此时外部数据需要按每次送入音频数据的时长,按这个时长的间隔来依次送入;也可以使用播放器的回调来送入 SDK;如果送入过快,则 SDK 会丢弃过多的数据。
Parameters- 
        sourceID: int
音源文件的唯一标识符,需自行生成并维护,且确保唯一
 - 
        blockingMode: boolean
是否使用阻塞模式进行音源混音
 
Returns 音源混音实例 - 
        
 
setPublishEnabled
- void setPublishEnabled(int sourceID, boolean enabled)
 - 
    
设置是否推送到远端,默认推送
Parameters- 
        sourceID: int
音源的唯一标识符
 - 
        enabled: boolean
false: 只在本地播放音源, true: 将本地播放的音源发布至远端
 
 - 
        
 
isPublishEnabled
- boolean isPublishEnabled(int sourceID)
 - 
    
是否推送到远端
Parameters- 
        sourceID: int
音源的唯一标识符
 
Returns false: 只在本地播放音源, true: 将本地播放的音源发布至远端 - 
        
 
setVolume
- void setVolume(int sourceID, float volume)
 - 
    
设置指定音源的混音音量,默认音量为 1.0f
若想修改混音中麦克风采集音频的音量,可通过 QNMicrophoneAudioTrack.setVolume 接口实现
Parameters- 
        sourceID: int
音源的唯一标识符
 - 
        volume: float
音源的混音音量,[0.0f - 1.0f]
 
 - 
        
 
getVolume
- float getVolume(int sourceID)
 - 
    
获取指定音源的混音音量
Parameters- 
        sourceID: int
音源的唯一标识符
 
Returns 指定音源的混音音量,[0.0f - 1.0f] - 
        
 
setAllSourcesVolume
- void setAllSourcesVolume(float volume)
 - 
    
设置所有正在混音的音源的混音音量
Parameters- 
        volume: float
音源的混音音量,[0.0f - 1.0f]
 
 - 
        
 
pushAudioFrame
- int pushAudioFrame(int sourceID, QNAudioFrame frame)
 - 
    
推送 PCM 音源数据
Parameters- 
        sourceID: int
音源的唯一标识符
 - 
        frame: QNAudioFrame
音频数据帧
 
 - 
        
 
    文档反馈
    (如有产品使用问题,请 提交工单)