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

播放音效

功能描述

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

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

接口调用流程

实现过程

  1. 加入房间

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

  2. 播放音效文件

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

    int soundId = 0; //音效文件ID
    [rtcEngine playAudioClip:soundId filePath: [[NSBundle mainBundle] pathForResource:@"test.mp3" ofType:@""]
     loop:1 pitch:0.00 pan:0.00 gain:100 publish:1 startPos:0];
  3. 设置音效文件音量

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

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

    int soundId = 0; //音效文件ID
    [rtcEngine setVolumeOfAudioClip:soundId volume:50];
  4. 获取音效文件总时长

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

    int soundId = 0; //音效文件ID
    int duration = [rtcEngine getAudioClipDuration: [[NSBundle mainBundle] pathForResource:@"test.mp3" ofType:@""]];
    //根据当前总时长刷新界面进度条
  5. 获取音效文件播放位置

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

    int soundId = 0; //音效文件ID
    int pos = [rtcEngine getAudioClipCurrentPosition:soundId];
    //根据当前播放位置刷新界面进度条
  6. 设置音效文件播放位置

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

    int soundId = 0; //音效文件ID
    [rtcEngine setAudioClipPosition:soundId pos:50];
  7. 暂停播放音效文件

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

    int soundId = 0; //音效文件ID
    [rtcEngine pauseAudioClip:soundId];
  8. 恢复播放暂停的音效文件

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

    int soundId = 0; //音效文件ID
    [rtcEngine resumeAudioClip:soundId];
  9. 停止播放音效文件

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

    int soundId = 0; //音效文件ID
    [rtcEngine stopAudioClip:soundId];
  10. 音效文件播放结束回调

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

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

相关文档