音效文件播放
- C#
更新时间不可用
GetEffectCurrentPosition
获取指定音效文件的播放进度。
public abstract int GetEffectCurrentPosition(int soundId);详情
注意: 该方法需要在 PlayEffect 后调用。
参数
返回值
- 方法调用成功,返回指定音效文件的播放进度(毫秒)。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
GetEffectDuration
获取指定音效文件总时长。
public abstract int GetEffectDuration(string filePath);详情
注意: 该方法需要在加入频道后调用。
参数
返回值
- 方法调用成功,返回指定音效文件时长(毫秒)。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
GetEffectsVolume
获取音效文件的播放音量。
public abstract int GetEffectsVolume();详情
音量范围为 0~100。100 (默认值)为原始文件音量。
注意: 该方法需要在 PlayEffect 后调用。
返回值
- 音效文件的音量。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
GetVolumeOfEffect
获取指定音效文件的播放音量。
public abstract int GetVolumeOfEffect(int soundId);参数
返回值
- ≥ 0: 方法调用成功,返回播放音量。音量范围为 [0,100]。100 为原始音量。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
PauseAllEffects
暂停所有音效文件播放。
public abstract int PauseAllEffects();返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
PauseEffect
暂停音效文件播放。
public abstract int PauseEffect(int soundId);参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
PlayAllEffects
播放所有音效文件。
public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false);详情
多次调用 PreloadEffect 预加载多个音效文件后,你可以调用本方法播放所有预加载的音效文件。
参数
| 参数名 | 描述 |
|---|---|
loopCount | |
pitch |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
PlayEffect
播放指定的本地或在线音效文件。
public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0);你可以多次调用该方法,传入不同的 soundID 和 filePath,同时播放多个音效文件。为获得最佳用户体验,建议同时播放的音效文件不超过 3 个。
调用时机
该方法在加入频道前后均可调用。
调用限制
如果你需要播放在线音效文件,声网建议先将在线音效文件缓存到本地设备,调用 PreloadEffect 将缓存的音效文件预加载到内存中,然后再调用此方法播放音效。否则,可能出现因在线音效文件加载超时、加载失败而导致的播放失败和无声的问题。
相关回调
音效文件播放结束后,SDK 会触发 OnAudioEffectFinished 回调。
参数
| 参数名 | 描述 |
|---|---|
soundId | |
filePath | 播放文件的地址,支持在线文件的 URL 地址、播放文件的绝对路径,需精确到文件名及后缀。支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP 等。 注意: 如果你已通过 PreloadEffect 将音效加载至内存,请确保该参数与 PreloadEffect 中设置的 filePath 相同。 |
loopCount | |
pitch | |
pan | |
gain | |
publish | |
startPos |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
PreloadEffect
将音效文件加载至内存。
public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0);为保证通信畅通,请注意控制预加载音效文件的大小。
该方法支持的预加载音频文件的格式见 RTC SDK 支持播放哪些格式的音频文件。
调用时机
声网建议在加入频道前调用该方法。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
ResumeAllEffects
恢复播放所有音效文件。
public abstract int ResumeAllEffects();当你调用 PauseAllEffects 暂停播放所有音效文件后,如需恢复播放,可以调用该方法。
调用时机
该方法需要在 PauseAllEffects 后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
ResumeEffect
恢复播放指定音效文件。
public abstract int ResumeEffect(int soundId);参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
SetEffectPosition
设置指定音效文件的播放位置。
public abstract int SetEffectPosition(int soundId, int pos);详情
成功设置后,本地音效文件会在指定位置开始播放。
注意: 该方法需要在 playEffect 后调用。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
SetEffectsVolume
设置音效文件的播放音量。
public abstract int SetEffectsVolume(int volume);调用时机
该方法需要在 PlayEffect 后调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
SetVolumeOfEffect
设置指定音效文件的播放音量。
public abstract int SetVolumeOfEffect(int soundId, int volume);调用时机
该方法需要在 PlayEffect 后调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
StopAllEffects
停止播放所有音效文件。
public abstract int StopAllEffects();当你不需要再播放音效文件时,可以调用该方法停止播放。如果你仅需暂停播放,请调用 PauseAllEffects。
调用时机
该方法需要在 PlayEffect 之后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
StopEffect
停止播放指定音效文件。
public abstract int StopEffect(int soundId);当你不需要再播放某一音效文件时,可以调用该方法停止播放。如果你仅需暂停播放,请调用 PauseEffect。
调用时机
该方法需要在 PlayEffect 之后调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
UnloadAllEffects
从内存释放所有预加载音效文件。
public abstract int UnloadAllEffects();返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
UnloadEffect
从内存释放某个预加载的音效文件。
public abstract int UnloadEffect(int soundId);调用 PreloadEffect 将音效文件加载至内存后,如需释放该音效文件,请调用该方法。
调用时机
该方法在加入频道前后均可调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
OnAudioEffectFinished
本地音效文件播放已结束回调。
public virtual void OnAudioEffectFinished(int soundId)详情
当播放音效结束后,会触发该回调。