MediaSource
需播放的媒体文件的相关信息及播放设置。
Dart
class MediaSource {
const MediaSource(
{this.url,
this.uri,
this.startPos,
this.autoPlay,
this.enableCache,
this.isAgoraSource,
this.isLiveSource});
(name: 'url')
final String? url;
(name: 'uri')
final String? uri;
(name: 'startPos')
final int? startPos;
(name: 'autoPlay')
final bool? autoPlay;
(name: 'enableCache')
final bool? enableCache;
(name: 'isAgoraSource')
final bool? isAgoraSource;
(name: 'isLiveSource')
final bool? isLiveSource;
factory MediaSource.fromJson(Map<String, dynamic> json) =>
_$MediaSourceFromJson(json);
Map<String, dynamic> toJson() => _$MediaSourceToJson(this);
}
url
需要播放的媒体资源的 URL。
uri
媒体文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。
startPos
设置起始播放位置 (毫秒),默认值为 0。
autoPlay
enableCache
信息
- SDK 目前仅支持缓存点播流,但不支持缓存通过 HLS 协议传输的点播流。
- 缓存前,请向
uri传值,否则播放器会以媒体文件的url作为缓存索引。 - 开启实时缓存后,播放器会预先缓存当前正在播放的媒体文件的部分数据到本地,当你下次播放该文件时播放器会直接从缓存中加载数据,可节省网络流量。当前缓存的媒体文件的相关统计数据会在媒体文件开始播放后每秒更新一次,详见 CacheStatistics。
- true:开启实时缓存。
- false:(默认)关闭实时缓存。
enableMultiAudioTrack
此次播放是否允许选择不同音轨:
- true:允许选择不同音轨。
- false:(默认)不允许选择不同音轨。
isAgoraSource
信息
如果你需要打开的媒体资源为声网融合 CDN 分发的直播流或点播流,请向
url 传入直播或点播流的 URL 并将 isAgoraSource 设置为 true,否则无需设置 isAgoraSource。- true:打开的媒体资源是声网融合 CDN 分发的直播或点播流。
- false:(默认)打开的媒体资源不是声网融合 CDN 分发的直播或点播流。
isLiveSource
信息
仅当打开的媒体资源为直播流时,将
isLiveSource 设置为 true 后才可加快媒体资源的打开速度。- true:直播流。
- false:(默认)非直播流。