MediaPlayerSource
需播放的媒体文件的相关信息及播放设置。
Java
public class MediaPlayerSource {
public MediaPlayerSource() {
this.startPos = 0;
this.enableCache = false;
this.url = null;
this.uri = null;
this.autoPlay = true;
this.provider = null;
}
String url;
String uri;
long startPos;
boolean autoPlay;
Boolean isAgoraSource;
Boolean isLiveSource;
boolean enableCache;
IMediaPlayerCustomDataProvider provider;
}
url
需要播放的媒体资源的 URL。
注:
如果你打开的为普通媒体资源,请向 url
传值;如果你打开媒体资源为自定义媒体资源,请向 provider
传值,同时传值会导致方法调用失败。
uri
媒体文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。
startPos
设置起始播放位置 (毫秒),默认值为 0。
autoPlay
enableCache
此次播放是否开启实时缓存功能:
true
:开启实时缓存。false
:(默认)关闭实时缓存。
- SDK 目前仅支持缓存点播流,但不支持缓存通过 HLS 协议传输的点播流。
- 缓存前,请向
uri
传值,否则播放器会以媒体文件的url
作为缓存索引。 - 开启实时缓存后,播放器会预先缓存当前正在播放的媒体文件的部分数据到本地,当你下次播放该文件时播放器会直接从缓存中加载数据,可节省网络流量。当前缓存的媒体文件的相关统计数据会在媒体文件开始播放后每秒更新一次,详见
CacheStatistics
。
isAgoraSource
打开的媒体资源是否为通过声网融合 CDN 分发的直播或点播流:
true
:打开的媒体资源是声网融合 CDN 分发的直播或点播流。false
:(默认)打开的媒体资源不是声网融合 CDN 分发的直播或点播流。
如果你需要打开的媒体资源为声网融合 CDN 分发的直播流或点播流,请向
url
传入直播或点播流的 URL 并将 isAgoraSource
设置为 true
,否则无需设置 isAgoraSource
。isLiveSource
打开的媒体资源是否为直播流:
true
:直播流。false
:(默认)非直播流。
如果你打开的媒体资源为直播流,建议你将该参数设置为
true
,可加快打开直播流的速度。注:
仅当打开的媒体资源为直播流时,将
isLiveSource
设置为 true
后才可加快媒体资源的打开速度。provider
自定义媒体资源文件的回调。详见 IMediaPlayerCustomDataProvider
。
注:
如果你打开媒体资源为自定义媒体资源,请仅向 provider
传值,如果你打开的为普通媒体资源,请向 url
传值。同时向 url
和 provider
传值会导致方法调用会失败。