public abstract class RCRTCAudioMixer extends Object
混音功能支持将用户自定义的音频数据或音频文件与本地麦克风采集的音频数据进行混合,支持的用户自定义音频文件格式为:MP3、AAC、M4A、WAV
| 限定符和类型 | 类和说明 |
|---|---|
static class |
RCRTCAudioMixer.MixingState |
static class |
RCRTCAudioMixer.MixingStateReason |
static class |
RCRTCAudioMixer.Mode
混音模式
|
| 限定符和类型 | 字段和说明 |
|---|---|
static RCRTCAudioMixer |
mInstance |
| 构造器和说明 |
|---|
RCRTCAudioMixer() |
| 限定符和类型 | 方法和说明 |
|---|---|
abstract float |
getCurrentPosition()
获取混音当前进度
|
abstract int |
getDurationMillis()
获取混音文件的总时长
|
abstract int |
getDurationMillis(String path)
获取指定音频文件的总时长
|
static RCRTCAudioMixer |
getInstance() |
abstract int |
getMixingVolume()
获取混音文件在对端播放音量
|
abstract int |
getPlaybackVolume()
获取混音文件在本端的播放音量
|
abstract void |
pause()
暂停混音
|
abstract void |
resume()
继续混音
|
abstract void |
seekTo(float position)
设置指定播放进度
|
abstract void |
setAudioDualMonoMode(AudioDualMonoMode mode)
Add from 5.1.13
设置混音声道模式
|
abstract void |
setAudioMixingStateChangeListener(RCRTCAudioMixingStateChangeListener listener)
注册 AudioMixingStateChangeListener 监听混音结束回调
|
abstract void |
setMixingVolume(int vol)
设置混音文件在对端播放音量,取值范围 [0-100]
|
abstract void |
setPlayback(boolean playback)
设置本端是否播放混音文件
|
abstract void |
setPlaybackVolume(int vol)
设置混音文件在本端的播放音量,取值范围 [0-100]
|
abstract void |
setVolume(int volume)
同时设置混音文件在本端和对端的播放音量
|
abstract boolean |
start()
已过时。
|
abstract boolean |
startMix(String path,
RCRTCAudioMixer.Mode mode,
boolean playback,
int loopCount)
将给定音频文件与麦克风混音发送至对端
|
abstract boolean |
startWrite()
Add from 5.1.11
开始write混音。
|
abstract void |
stop()
停止混音
|
abstract void |
stopWrite()
Add from 5.1.11
结束write混音。
|
abstract void |
write(byte[] data,
int sampleRate,
int channelCount,
int audioFormat,
int volume,
RCRTCAudioMixer.Mode mode) |
public static RCRTCAudioMixer mInstance
public static RCRTCAudioMixer getInstance()
public abstract boolean startMix(String path, RCRTCAudioMixer.Mode mode, boolean playback, int loopCount)
path - 媒体文件路径mode - 混音模式,参考 RCRTCAudioMixer.Mode.NONE, RCRTCAudioMixer.Mode.MIX 和 RCRTCAudioMixer.Mode.REPLACEplayback - 是否在本端播放loopCount - loopCount < 0 无限循环,loopCount > 0 循环 loopCount 次@Deprecated public abstract boolean start()
startWrite()public abstract boolean startWrite()
public abstract void stopWrite()
public abstract void write(byte[] data,
int sampleRate,
int channelCount,
int audioFormat,
int volume,
RCRTCAudioMixer.Mode mode)
data - pcm 数据sampleRate - 采样率channelCount - 通道数audioFormat - 采样精度,参考 AudioFormat.ENCODING_PCM_8BIT, AudioFormat.ENCODING_PCM_16BIT, 和 AudioFormat.ENCODING_PCM_FLOATvolume - 混音音量mode - 混音模式,参考 RCRTCAudioMixer.Mode.MIX, RCRTCAudioMixer.Mode.REPLACE 和 RCRTCAudioMixer.Mode.NONEpublic abstract void setAudioMixingStateChangeListener(RCRTCAudioMixingStateChangeListener listener)
listener - public abstract void setPlayback(boolean playback)
playback - true,本端播放 false,本端不播放public abstract void setMixingVolume(int vol)
public abstract int getMixingVolume()
public abstract void setPlaybackVolume(int vol)
public abstract int getPlaybackVolume()
public abstract int getDurationMillis()
public abstract int getDurationMillis(String path)
path - 文件路径public abstract float getCurrentPosition()
public abstract void seekTo(float position)
position - 进度 [0.0,1.0]public abstract void stop()
public abstract void resume()
public abstract void pause()
public abstract void setVolume(int volume)
volume - 音量 [0,100]public abstract void setAudioDualMonoMode(AudioDualMonoMode mode)
mode - 声道模式 0 立体声混音, 1 左声道混音, 2 右声道混音