start method
@detail api
@brief 开始播放音效文件。
可以通过传入不同的 ID 和 filepath 多次调用本方法,以实现同时播放多个音效文件,实现音效叠加。
@param effectId 音效 ID。用于标识音效,请保证音效 ID 唯一性。
如果使用相同的 ID 重复调用本方法后,上一个音效会停止,下一个音效开始,并收到 onAudioEffectPlayerStateChanged:state:error:{@link #ByteRTCAudioEffectPlayerEventHandler#onAudioEffectPlayerStateChanged:state:error}。
@param filePath 音效文件路径。
支持在线文件的 URL、本地文件的 URI、或本地文件的绝对路径。对于在线文件的 URL,仅支持 https 协议。
推荐的音效文件采样率:8KHz、16KHz、22.05KHz、44.1KHz、48KHz。
不同平台支持的本地音效文件格式:
| mp3 | mp4 | aac | m4a | 3gp | wav | ogg | ts | wma |
| Android | Y | Y | Y | Y | Y | Y | Y | | |
| iOS/macOS | Y | Y | Y | Y | Y | Y | | | |
| Windows | Y | Y | Y | Y | Y | Y | | Y | Y |
不同平台支持的在线音效文件格式:
| mp3 | mp4 | aac | m4a | 3gp | wav | ogg | ts | wma |
| Android | Y | | Y | Y | Y | Y | | | |
| iOS/macOS | Y | | Y | Y | | Y | | | |
| Windows | Y | | Y | Y | Y | Y | | Y | Y |
@param config 音效配置,详见 ByteRTCAudioEffectPlayerConfig{@link #ByteRTCAudioEffectPlayerConfig}。
@return
- 0: 调用成功。
- < 0 : 调用失败。查看 ByteRTCReturnStatus{@link #ByteRTCReturnStatus} 获得更多错误说明
@note
- 如果已经通过 preload:filePath:{@link #ByteRTCAudioEffectPlayer#preload:filePath} 将文件加载至内存,确保此处的 ID 与
preload 设置的 ID 相同。
- 开始播放音效文件后,可以调用 stop:{@link #ByteRTCAudioEffectPlayer#stop} 方法停止播放音效文件。
Implementation
FutureOr<int> start(int effectId, NSString filePath,
ByteRTCAudioEffectPlayerConfig config) async {
return await nativeCall(
'start:filePath:config:', [effectId, filePath, config]);
}