混音
更新时间: 2024/08/23 10:24:52
本章节介绍混音相关的功能,通过阅读本章节你可以快速了解混音功能的调用方法和流程。混音是指在音视频通话和互动直播过程中,将本地的音频文件与本端采集的声音数据混音后发送出去,同时在本端播放出来的功能。
混音功能可以处理系统原生支持语音播放的音频文件类型,如 aac
、mp3
、mp4
和 wav
等。
该功能支持设置文件播放次数、发送音量和播放音量,支持通话中开始、暂停、恢复、更新及停止文件混音。
开始文件混音任务
- API介绍
在通话过程中,可以指定本地音频文件来和麦克风采集的音频流进行混音或者替换。
开启本地语音伴音,可以通过参数指定是否循环,替换本地语音,以及初始音量[0.0f - 1.0f]。
- API原型
java /**
* 指定本地音频文件来和麦克风采集的音频流进行混音和替换
*
* @param filePath 本地文件路径
* @param loopback 是否循环播放
* @param replace 是否替换麦克风采集的音频数据
* @param cycle 循环的次数
* @param volume 音量[0.0f - 1.0f]
* @return {@code true} 方法调用成功,{@code false} 方法调用失败
*/
public abstract boolean startAudioMixing(String filePath,
boolean loopback,
boolean replace,
int cycle,
float volume);
- 参数说明
参数 | 说明 |
---|---|
filePath | 本地文件路径。 |
loopback | 是否循环播放。 |
replace | 是否替换麦克风采集的音频数据。 |
cycle | 循环的次数。 |
volume | 音量[0.0f - 1.0f]。 |
- 示例
javaAVChatManager.getInstance().startAudioMixing(filePath, loopback, replace, cycle, volume);
暂停文件混音任务
- API介绍
开始混音后可以暂停本地语音伴音。
- API原型
java /**
* 暂停伴音
*
* @return {@code true} 方法调用成功,{@code false} 方法调用失败
*/
public abstract boolean pauseAudioMixing();
- 示例
javaAVChatManager.getInstance().pauseAudioMixing();
恢复文件混音任务
- API介绍
恢复本地语音伴音,伴音文件将从暂停时位置开始播放。
- API原型
java /**
* 恢复伴音
*
* @return {@code true} 方法调用成功,{@code false} 方法调用失败
*/
public abstract boolean resumeAudioMixing();
- 示例
javaAVChatManager.getInstance().resumeAudioMixing();
停止文件混音任务
- API介绍
停止本地语音伴音。
- API原型
java /**
* 停止伴音
*
* @return {@code true} 方法调用成功,{@code false} 方法调用失败
*/
public abstract boolean stopAudioMixing();
- 示例
javaAVChatManager.getInstance().stopAudioMixing();
文件混音音量设置
- API介绍
设置语音伴音的本地播放音量以及发送音量
- API原型
java /**
* 设置伴音本地播放音量
* @param volume [0.0f - 1.0f]
* @return {@code true} 方法调用成功,{@code false} 方法调用失败
*/
public abstract boolean setAudioMixingPlaybackVolume(float volume);
java /**
* 设置伴音发送音量
* @param volume [0.0f - 1.0f]
* @return {@code true} 方法调用成功,{@code false} 方法调用失败
*/
public abstract boolean setAudioMixingSendVolume(float volume);
- 示例
javaAVChatManager.getInstance().setAudioMixingPlaybackVolume(1.0);
AVChatManager.getInstance().setAudioMixingSendVolume(1.0);
任务完成通知
- API介绍
伴音的状态通知 onAudioMixingEvent
,事件类型为AUDIO_MIXING_ERROR
以及 AUDIO_MIXING_FINISHED
.
- API原型
java /**
* 伴音事件
*
* @see com.netease.nimlib.sdk.avchat.constant.AVChatAudioMixingEvent#MIXING_ERROR
* @see com.netease.nimlib.sdk.avchat.constant.AVChatAudioMixingEvent#MIXING_FINISHED
* @see com.netease.nimlib.sdk.avchat.constant.AVChatAudioMixingEvent#MIXING_STARTED
* @see AVChatManager#startAudioMixing(String, boolean, boolean, int, float)
* @see AVChatManager#stopAudioMixing()
*/
void onAudioMixingEvent(int event);
- 参数说明
参数 | 说明 |
---|---|
event | 伴音事件类型,参考AVChatAudioMixingEvent。 |
- 示例
java public void onAudioMixingEvent(int i) {
LogUtil.d(TAG, "onAudioMixingEvent,i -> "+i);
switch (i) {
case AVChatAudioMixingEvent.MIXING_FINISHED:
break;
case AVChatAudioMixingEvent.MIXING_ERROR:
break;
}
}
此文档是否对你有帮助?