媒体资源打开
- Flutter
更新时间不可用
open
打开媒体资源。
Future<void> open({required String url, required int startPos});注: 该方法为异步调用。
调用时机
加入频道前后均可调用。
相关回调
调用该方法后会触发 onPlayerSourceStateChanged 回调。在收到报告播放状态为 playerStateOpenCompleted 后,你可以调用 play 方法播放媒体文件。
参数
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
openWithMediaSource
打开媒体资源并进行播放设置。
Future<void> openWithMediaSource(MediaSource source);该方法支持你打开不同类型的媒体资源,包括自定义的媒体资源文件,并可进行播放设置。
注: 该方法为异步调用。如需播放媒体文件,需要在收到 onPlayerSourceStateChanged 回调报告状态为 playerStateOpenCompleted 后再调用 play 方法播放媒体文件。
调用时机
该方法在加入频道前后均可调用。
参数
| 参数名 | 描述 |
|---|---|
source | 媒体资源,详见 MediaSource。 |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
preloadSrc
预加载媒体资源。
Future<void> preloadSrc({required String src, required int startPos});你可以调用该方法将一个媒体资源预加载到播放列表中。如果需要预加载多个媒体资源,你可以多次调用该方法。 预加载成功后,如果你想播放媒体资源,请调用 playPreloadedSrc;如果你想清空播放列表,请调用 stop。
注:
- 调用该方法前,请确保你已经调用 open 或 openWithMediaSource 成功打开媒体资源。
- SDK 不支持你预加载重复的媒体资源到播放列表,但支持你将正在播放的媒体资源再次预加载到播放列表。
参数
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
switchSrc
切换媒体资源。
Future<void> switchSrc({required String src, bool syncPts = true});你可以根据当前网络状态调用该方法切换播放的媒体资源的码率。例如:
- 在网络较差时,将播放的媒体资源切换为较低码率的媒体资源地址。
- 在网络较好时,将播放的媒体资源切换为较高码率的媒体资源地址。
调用该方法后,如果你收到 onPlayerEvent 回调报告事件 playerEventSwitchComplete,则媒体资源切换成功。如果资源切换失败,SDK 会自动重试 3 次。如果仍然失败,你会收到 onPlayerEvent 回调,报告 playerEventSwitchError 事件,表示媒体资源切换时发生错误。
参数
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
unloadSrc
释放预加载的媒体资源。
Future<void> unloadSrc(String src);参数
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。