更新时间:2023-10-26 GMT+08:00
分享

播放音效

功能描述

用户可以同时播放多个音效文件,给自己和其他与会者听,用于烘托气氛。

支持本地或在线文件路径,文件格式支持播放wav、pcm和单声道mp3音频格式。

接口调用流程

实现流程

  1. 加入房间

    参考接口调用流程中加入房间的时序图步骤加入房间。

  2. 播放音效文件

    调用playAudioClip接口可以播放一个音效文件。可以同时播放多个音效文件,不同音效文件用不同的soundId参数进行区别。

    int soundId = 0; //音效文件ID
    engine->playAudioClip(soundId, "D:\\test.mp3", 1, 0, 0, 100, true, 0);
  3. 设置音效文件音量

    音效文件播放过程中,可以调用setVolumeOfAudioClip设置音效文件播放音量。

    音量大小,范围为0-100。

    int soundId = 0; //音效文件ID
    engine->setVolumeOfAudioClip(soundId, 50);
  4. 获取音效文件总时长

    播放过程中可以调用getAudioClipDuration获取音效文件总时长,可用于刷新界面的播放进度条。

    int soundId = 0; //音效文件ID
    int duration = engine->getAudioClipDuration(soundId, "D:\\test.mp3");
    //根据当前总时长刷新界面进度条
  5. 获取音效文件播放位置

    播放过程中可以调用getAudioClipCurrentPosition获取音效文件播放位置,可用于刷新界面的播放进度条。

    int soundId = 0; //音效文件ID
    int pos = engine->getAudioClipCurrentPosition(soundId);
    //根据当前播放位置刷新界面进度条
  6. 设置音效文件播放位置

    播放过程中可以调用setAudioClipPosition设置音效文件播放位置,可用于通过拖动进度条改变音效文件的播放位置。

    int soundId = 0; //音效文件ID
    engine->setAudioClipPosition(soundId, 50);
  7. 暂停播放音效文件

    调用pauseAudioClip接口可以暂停播放一个音效文件。调用pauseAllAudioClips暂停播放所有正在播放的音效文件。

    int soundId = 0; //音效文件ID
    engine->pauseAudioClip(soundId);
  8. 恢复播放暂停的音效文件

    音频文件暂停播放后,可以调用resumeAudioClip接口可以恢复播放之前暂停的音效文件。或者调用resumeAllAudioClips恢复播放所有暂停的音效文件。

    int soundId = 0; //音效文件ID
    engine->resumeAudioClip(soundId);
  9. 停止播放音效文件

    调用stopAudioClip接口停止播放一个音效文件,或者调用stopAllAudioClips接口停止播放所有音效文件。

    int soundId = 0; //音效文件ID
    engine->stopAudioClip(soundId);
  10. 音效文件播放结束回调

    音效文件播放结束后,sdk会触发onAudioClipFinished回调来通知上层应用。

    void HWEngineEventHandler::onAudioClipFinished(int soundId)
    {
    //收到音效文件播放结束通知后,可以刷新界面,比如恢复播放前初始界面状态。
    }
分享:

    相关文档

    相关产品