媒体资源打开

  • Flutter

更新时间不可用

open

打开媒体资源。

Dart
Future<void> open({required String url, required int startPos});

注: 该方法为异步调用。

调用时机

加入频道前后均可调用。

相关回调

调用该方法后会触发 onPlayerSourceStateChanged 回调。在收到报告播放状态为 playerStateOpenCompleted 后,你可以调用 play 方法播放媒体文件。

参数

参数名描述
url

设置媒体文件的路径,支持本地和在线文件。

startPos

设置起始播放位置(毫秒),默认值为 0。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

所属接口类

openWithMediaSource

打开媒体资源并进行播放设置。

Dart
Future<void> openWithMediaSource(MediaSource source);

该方法支持你打开不同类型的媒体资源,包括自定义的媒体资源文件,并可进行播放设置。

注: 该方法为异步调用。如需播放媒体文件,需要在收到 onPlayerSourceStateChanged 回调报告状态为 playerStateOpenCompleted 后再调用 play 方法播放媒体文件。

调用时机

该方法在加入频道前后均可调用。

参数

参数名描述
source

媒体资源,详见 MediaSource。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

preloadSrc

预加载媒体资源。

Dart
Future<void> preloadSrc({required String src, required int startPos});

你可以调用该方法将一个媒体资源预加载到播放列表中。如果需要预加载多个媒体资源,你可以多次调用该方法。 预加载成功后,如果你想播放媒体资源,请调用 playPreloadedSrc;如果你想清空播放列表,请调用 stop。

注:

  • 调用该方法前,请确保你已经调用 open 或 openWithMediaSource 成功打开媒体资源。
  • SDK 不支持你预加载重复的媒体资源到播放列表,但支持你将正在播放的媒体资源再次预加载到播放列表。

参数

参数名描述
src

媒体资源的网络路径。

startPos

预加载到播放列表后,开始播放时的起始位置(毫秒)。预加载直播流时,将该参数设置为 0。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

所属接口类

switchSrc

切换媒体资源。

Dart
Future<void> switchSrc({required String src, bool syncPts = true});

你可以根据当前网络状态调用该方法切换播放的媒体资源的码率。例如:

  • 在网络较差时,将播放的媒体资源切换为较低码率的媒体资源地址。
  • 在网络较好时,将播放的媒体资源切换为较高码率的媒体资源地址。

调用该方法后,如果你收到 onPlayerEvent 回调报告事件 playerEventSwitchComplete,则媒体资源切换成功。如果资源切换失败,SDK 会自动重试 3 次。如果仍然失败,你会收到 onPlayerEvent 回调,报告 playerEventSwitchError 事件,表示媒体资源切换时发生错误。

注:

  • 请确保在 open 之后调用该方法。

  • 为保证播放正常,请在调用该方法时注意如下:

    • 不要在播放暂停时调用该方法。
    • 不要在切换码率过程中调用 seek。
    • 确保切换码率前的播放位置不大于待切换的媒体资源总时长。

参数

参数名描述
src

媒体资源的网络路径。

syncPts

是否同步切换前后的起始播放位置:

  • true:同步。
  • false:(默认) 不同步。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

所属接口类

unloadSrc

释放预加载的媒体资源。

Dart
Future<void> unloadSrc(String src);

参数

参数名描述
src

媒体资源的网络路径。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

所属接口类