MediaSource
用于配置要播放的媒体文件及播放场景。
C++
struct MediaSource {
const char* url;
const char* uri;
int64_t startPos;
bool autoPlay;
bool enableCache;
bool enableMultiAudioTrack;
Optional<bool> isAgoraSource;
Optional<bool> isLiveSource;
IMediaPlayerCustomDataProvider* provider;
};
url
要播放的媒体文件的 URL。
信息
如果打开的是普通媒体资源,请传入
url。如果打开的是自定义媒体资源,请传入 provider。声网建议不要在一次调用中同时传入这两个参数,否则调用可能失败。uri
媒体文件的 URI(统一资源标识符)。
startPos
播放的起始位置(单位为毫秒)。默认值为 0。
autoPlay
enableCache
信息
声网仅支持缓存非 HLS 协议传输的点播音视频流。若需启用缓存,请传入
uri,否则缓存基于媒体文件的 url。启用该功能后,媒体播放器会将播放中的部分媒体文件缓存在本地设备上,即使无网络连接也可播放缓存的媒体文件。缓存的媒体文件统计信息会在播放后每秒更新一次,详见 CacheStatistics。- true:启用缓存。
- false:(默认)不启用缓存。
enableMultiAudioTrack
信息
如果需要为本地播放和发布到频道设置不同的音轨,需将该参数设置为 true,然后调用 selectMultiAudioTrack 方法选择音轨。
- true:允许选择不同音轨。
- false:(默认)不允许选择不同音轨。
isAgoraSource
信息
如果需要打开通过极速直播服务分发的直播流或点播视频,请将媒体资源的 URL 传入
url,并将 isAgoraSource 设置为 true;否则无需设置该参数。- true:媒体资源为通过极速直播服务分发的直播或点播视频。
- false:(默认)媒体资源不是通过极速直播服务分发的直播或点播视频。
isLiveSource
信息
如果要打开的媒体资源是直播流,声网建议将该参数设置为 true,以加快直播流加载速度。若打开的媒体资源不是直播流但设置了
isLiveSource 为 true,则不会加快加载速度。- true:媒体资源为直播流。
- false:(默认)媒体资源不是直播流。
provider
自定义媒体资源文件的回调。详见 IMediaPlayerCustomDataProvider。
信息
如果打开的是自定义媒体资源,请传入
provider。如果打开的是普通媒体资源,请传入 url。声网建议不要在一次调用中同时传入 url 和 provider,否则调用可能失败。