播放音效
功能描述
用户可以同时播放多个音效文件,给自己和其他与会者听,用于烘托气氛。
支持本地或在线文件路径,文件格式支持播放wav、pcm和单声道mp3音频格式。
实现流程
- 加入房间
参考接口调用流程中加入房间的时序图步骤加入房间。
- 播放音效文件
调用playAudioClip接口可以播放一个音效文件。可以同时播放多个音效文件,不同音效文件用不同的soundId参数进行区别。
int soundId = 0; //音效文件ID engine->playAudioClip(soundId, "D:\\test.mp3", 1, 0, 0, 100, true, 0);
- 设置音效文件音量
音效文件播放过程中,可以调用setVolumeOfAudioClip设置音效文件播放音量。
音量大小,范围为0-100。
int soundId = 0; //音效文件ID engine->setVolumeOfAudioClip(soundId, 50);
- 获取音效文件总时长
播放过程中可以调用getAudioClipDuration获取音效文件总时长,可用于刷新界面的播放进度条。
int soundId = 0; //音效文件ID int duration = engine->getAudioClipDuration(soundId, "D:\\test.mp3"); //根据当前总时长刷新界面进度条
- 获取音效文件播放位置
播放过程中可以调用getAudioClipCurrentPosition获取音效文件播放位置,可用于刷新界面的播放进度条。
int soundId = 0; //音效文件ID int pos = engine->getAudioClipCurrentPosition(soundId); //根据当前播放位置刷新界面进度条
- 设置音效文件播放位置
播放过程中可以调用setAudioClipPosition设置音效文件播放位置,可用于通过拖动进度条改变音效文件的播放位置。
int soundId = 0; //音效文件ID engine->setAudioClipPosition(soundId, 50);
- 暂停播放音效文件
调用pauseAudioClip接口可以暂停播放一个音效文件。调用pauseAllAudioClips暂停播放所有正在播放的音效文件。
int soundId = 0; //音效文件ID engine->pauseAudioClip(soundId);
- 恢复播放暂停的音效文件
音频文件暂停播放后,可以调用resumeAudioClip接口可以恢复播放之前暂停的音效文件。或者调用resumeAllAudioClips恢复播放所有暂停的音效文件。
int soundId = 0; //音效文件ID engine->resumeAudioClip(soundId);
- 停止播放音效文件
调用stopAudioClip接口停止播放一个音效文件,或者调用stopAllAudioClips接口停止播放所有音效文件。
int soundId = 0; //音效文件ID engine->stopAudioClip(soundId);
- 音效文件播放结束回调
音效文件播放结束后,sdk会触发onAudioClipFinished回调来通知上层应用。
void HWEngineEventHandler::onAudioClipFinished(int soundId) { //收到音效文件播放结束通知后,可以刷新界面,比如恢复播放前初始界面状态。 }