playMusic method
- NSString musicId,
- ByteRTCAudioTrackType trackType,
- ByteRTCAudioPlayType playType
@detail api
@author lihuan.wuti2ha
@brief 播放歌曲。
@param musicId 音乐 ID。
若同一 musicId 的歌曲正在播放,再次调用接口会从开始位置重新播放。若 musicId 对应的音频文件不存在会触发报错。
@param trackType 原唱伴唱类型,参看 ByteRTCAudioTrackType{@link #ByteRTCAudioTrackType}。
@param playType 音乐播放类型。参看 ByteRTCAudioPlayType{@link #ByteRTCAudioPlayType}。
@note
- 调用接口后,你会收到 ktvPlayer:onPlayStateChanged:state:error:{@link #ByteRTCKTVPlayerDelegate#ktvPlayer:onPlayStateChanged:state:error} 回调歌曲播放状态。
- 若音乐 ID 错误,会触发 ktvPlayer:onPlayStateChanged:state:error:{@link #ByteRTCKTVPlayerDelegate#ktvPlayer:onPlayStateChanged:state:error} 回调,errorCode 为 –3023,playState 为 4。
- 若未进房,会触发 ktvPlayer:onPlayStateChanged:state:error:{@link #ByteRTCKTVPlayerDelegate#ktvPlayer:onPlayStateChanged:state:error} 回调,errorCode 为 –3022,playState 为 4。
- 若音乐文件不存在,会触发 ktvPlayer:onPlayStateChanged:state:error:{@link #ByteRTCKTVPlayerDelegate#ktvPlayer:onPlayStateChanged:state:error} 回调,errorCode 为 –3020,playState 为 4。
Implementation
FutureOr<void> playMusic(NSString musicId, ByteRTCAudioTrackType trackType,
ByteRTCAudioPlayType playType) async {
return await nativeCall('playMusic:audioTrackType:audioPlayType:',
[musicId, trackType.$value, playType.$value]);
}