腾讯云云点播Flutter_音视频解决方案_同尘科技

云点播 1年前 (2023-11-21) 浏览 67

SuperPlayerPlugin类

setGlobalLicense

说明设置 License申请到 License 后,通过下面的接口初始化 License,建议在启动的时候进行,如果没有设置 License,将会播放视频失败。接口

static Future setGlobalLicense(String licenceUrl, String licenceKey) async;

参数说明

参数名 类型 描述
licenceUrl String licence 的 url
licenceKey String licence 的 key

返回值

createVodPlayer

说明创建原生层的点播播放器实例,如果使用TXVodPlayerController,其中已经集成,不需要额外创建。接口

static Future createVodPlayer() async;

参数说明返回值

返回值 类型 描述
playerId int 播放器 ID

createLivePlayer

说明创建原生层的点播播放器实例,如果使用TXVodPlayerController,其中已经集成,不需要额外创建。接口

static Future createLivePlayer() async;

参数说明返回值

返回值 类型 描述
playerId int 播放器 ID

setConsoleEnabled

说明打开或关闭播放器原生 log 输出。接口

static Future setConsoleEnabled() async;

参数说明

参数名 类型 描述
enabled bool 开启或关闭播放器 log

返回值

releasePlayer

说明释放对应播放器的资源。接口

static Future releasePlayer(int? playerId) async;

参数说明返回值

setGlobalMaxCacheSize

说明设置播放引擎的最大缓存大小。设置后会根据设定值自动清理 Cache 目录的文件。接口

static Future setGlobalMaxCacheSize(int size) async;

参数说明

参数名 类型 描述
size int 最大缓存大小(单位:MB)

返回值

setGlobalCacheFolderPath

说明该缓存路径默认设置到 App 沙盒目录下,参数只需要传递相对缓存目录即可,不需要传递整个绝对路径。接口

static Future setGlobalCacheFolderPath(String postfixPath) async;

参数说明

参数名 类型 描述
postfixPath String 缓存目录,该缓存路径默认设置到 app 沙盒目录下,postfixPath 只需要传递相对缓存目录即可,不需要传递整个绝对路径。Android 平台:视频将会缓存到 sdcard 的 Android/data/your-pkg-name/files/testCache 目录。iOS 平台视频将会缓存到沙盒的 Documents/testCache 目录。

返回值

setLogLevel

说明设置 log 输出级别。接口

static Future setLogLevel(int logLevel) async;

参数说明

参数名 类型 描述
logLevel int 0:输出所有级别的 log1:输出 DEBUG、INFO、WARNING、ERROR 和 FATAL 级别的 log2:输出 INFO、WARNNING、ERROR 和 FATAL 级别的 log3:输出 WARNNING、ERROR 和 FATAL 级别的 log4:输出 ERROR 和 FATAL 级别的 log5:只输出 FATAL 级别的 log6:不输出任何 SDK log

返回值

setBrightness

说明设置亮度,仅适用于当前 App。接口

static Future setBrightness(double brightness) async;

参数说明

参数名 类型 描述
brightness double 亮度取值范围 0.0~1.0

返回值

restorePageBrightness

说明恢复界面亮度,仅适用于当前 App。接口

static Future restorePageBrightness() async;

参数说明返回值

getBrightness

说明获得当前界面的亮度值。接口

static Future getBrightness() async;

参数说明返回值

参数名 类型 描述
brightness double 亮度取值范围 0.0~1.0

setSystemVolume

说明设置当前系统的音量。接口

static Future setSystemVolume(double volume) async;

参数说明

参数名 类型 描述
volume double 音量取值范围 0.0~1.0

返回值

getSystemVolume

说明设置当前系统的音量。接口

static Future getSystemVolume() async;

参数说明返回值说明

参数名 类型 描述
volume double 音量取值范围 0.0~1.0

abandonAudioFocus

说明释放音频焦点,仅适用于 Android。接口

static Future abandonAudioFocus() async;

参数说明返回值

requestAudioFocus

说明请求获取音频焦点,仅适用于 Android。接口

static Future requestAudioFocus() async ;

参数说明返回值

isDeviceSupportPip

说明判断当前设备是否支持画中画模式。接口

static Future isDeviceSupportPip() async;

参数说明返回值说明

参数名 类型 描述
isDeviceSupportPip int 0:可开启画中画模式 -101:Android版本过低 -102:画中画权限关闭/设备不支持画中画-103:当前界面已销毁

getLiteAVSDKVersion

说明获得当前原生层播放器 SDK 的版本号。接口

static Future getLiteAVSDKVersion() async;

参数说明返回值说明

参数名 类型 描述
sdkVersion String 当前播放器 SDK 版本

setGlobalEnv

说明设置 liteav SDK 接入的环境。
腾讯云在全球各地区部署的环境,按照各地区政策法规要求,需要接入不同地区接入点。注意目标市场为中国大陆的客户请不要调用此接口,如果目标市场为海外用户,请通过技术支持联系我们,了解 env_config 的配置方法,以确保 App 遵守 GDPR 标准。接口

static Future setGlobalEnv(String envConfig) async;

参数说明

参数名 类型 描述
envConfig String 需要接入的环境,SDK 默认接入的环境是:默认正式环境

返回值说明

参数名 类型 描述
result int 1:设置成功2:设置失败

startVideoOrientationService

说明开始监听设备旋转方向,开启之后,如果设备自动旋转打开,播放器会自动根据当前设备方向来旋转视频方向。
该接口目前只适用 Android 端,iOS 端会自动开启该能力。注意在调用该接口前,请务必向用户告知隐私风险。接口

static Future startVideoOrientationService() async

参数说明返回值说明

参数名 类型 描述
result bool true 为开启成功,false 为开启失败,如开启过早,还未等到上下文初始化、获取sensor 失败等原因

registerSysBrightness

说明开启或关闭对于系统亮度的监听,如果开启,当系统亮度发生变化,会改变当前 window 亮度,并回调亮度到 flutter 层。该接口需配合 setBrightness 和onExtraEventBroadcast 使用。接口

static FutureregisterSysBrightness(bool isRegister) async

参数说明

参数名 类型 描述
isRegister bool true:开启监听。false:关闭监听。

返回值说明

TXVodPlayerController类

initialize

说明初始化 controller,请求分配共享纹理。接口

Future initialize({bool? onlyAudio}) async;

参数说明

参数名 类型 描述
onlyAudio bool 选填,是否是纯音频播放器。

返回值说明

startVodPlay

注意10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link SuperPlayerPlugin#setGlobalLicense} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence ,可 快速免费申请测试版 Licence 以正常播放,正式版 License 需 购买。说明通过播视频 url 进行播放。接口

Future startVodPlay(String url) async;

参数说明

参数名 类型 描述
url String 要播放的视频 url

返回值说明

参数名 类型 描述
result bool 创建是否成功

startVodPlayWithParams

注意10.7版本开始,startPlay 变更为 startVodPlay,需要通过 {@link SuperPlayerPlugin#setGlobalLicense} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence ,可快速免费申请测试版 Licence 以正常播放,正式版 License 需购买。说明通过视频 field 进行播放。接口

Future startVodPlayWithParams(TXPlayInfoParams params) async;

参数说明

参数名 类型 描述
appId int 应用 appId,必填。
fileId String 文件 id,必填。
timeout String 加密链接超时时间戳,转换为16进制小写字符串,腾讯云 CDN 服务器会根据该时间判断该链接是否有效。
exper String 试看时长,单位:秒。
us String 唯一标识请求,增加链接唯一性。
sign String 防盗链签名,参考 防盗链产品文档。
https String 是否用 https 请求。默认 false。

返回值说明

pause

说明暂停当前正在播放的视频。接口

Future pause() async;

参数说明返回值说明

resume

说明将当前处于暂停状态的视频恢复播放。接口

Future resume() async;

参数说明返回值说明

stop

说明停止当前正在播放的视频。接口

Future stop({bool isNeedClear = false}) async;

参数说明

参数名 类型 描述
isNeedClear bool 是否清除最后一帧画面

返回值说明

参数名 类型 描述
result bool 停止是否成功

setIsAutoPlay

说明设置即将播放的视频,在 startVodPlay 加载视频地址之后,是否直接自动播放。接口

Future setIsAutoPlay({bool? isAutoPlay}) async;

参数说明

参数名 类型 描述
isAutoPlay bool 是否自动播放

返回值说明

isPlaying

说明当前播放器是否正在播放。接口

Future isPlaying() async;

参数说明返回值说明

参数名 类型 描述
isPlaying bool 是否正在播放

setMute

说明设置当前播放是否静音。接口

Future setMute(bool mute) async;

参数说明

参数名 类型 描述
mute bool 是否静音

返回值说明

setLoop

说明视频播放完成之后是否循环播放。接口

Future setLoop(bool loop) async;

参数说明

参数名 类型 描述
loop bool 是否循环播放

返回值说明

seek

说明将进度调整到指定位置。接口

_controller.seek(progress);

参数说明

参数名 类型 描述
progress double 需要调整到的播放时间,单位 秒。

返回值说明

setRate

说明设置视频播放的速率。接口

Future setRate(double rate) async;

参数说明

参数名 类型 描述
rate double 视频的播放速率。默认1.0。

返回值说明

getSupportedBitrates

说明获得当前正在播放的视频支持的码率。接口

Future getSupportedBitrates() async;

参数说明返回值说明

返回值 类型 描述
index int 码率序号
width int 码率对应视频宽度
height int 码率对应视频高度
bitrate int 码率值

getBitrateIndex

说明获得设置过的码率序号。接口

Future getBitrateIndex() async;

参数说明返回值说明

返回值 类型 描述
index int 码率序号

setBitrateIndex

说明通过码率序号,设置当前码率。接口

Future setBitrateIndex(int index) async;

参数说明

返回值 类型 描述
index int 码率序号。 传入-1时,表示开启码流自适应。

返回值说明

setStartTime

说明指定播放开始时间。接口

Future setStartTime(double startTime) async;

参数说明

返回值 类型 描述
startTime double 播放开始时间,单位 秒。

返回值说明

setAudioPlayoutVolume

说明设置视频的声音大小。接口

Future setAudioPlayoutVolume(int volume) async;

参数说明

参数名 类型 描述
volume int 视频声音大小,范围0~100。

返回值说明

setRequestAudioFocus

说明请求获得音频焦点,适用于 Android。接口

Future setRequestAudioFocus(bool focus) async;

参数说明

参数名 类型 描述
focus bool 是否设置焦点

返回值说明

参数名 类型 描述
result bool 设置焦点是否成功

setConfig

说明给播放器进行配置。接口

Future setConfig(FTXVodPlayConfig config) async ;

参数说明

参数名 类型 描述
config FTXVodPlayConfig 请参考 FTXVodPlayConfig类

返回值说明

getCurrentPlaybackTime

说明获得当前播放时间,单位 秒。接口

Future getCurrentPlaybackTime() async;

参数说明返回值说明

参数名 类型 描述
playbackTime double 当前播放时间,单位 秒。

getBufferDuration

说明获得当前视频已缓存的时间,单位 秒。接口

 Future getBufferDuration();

参数说明返回值说明

参数名 类型 描述
playbackTime double 当前视频已缓存的时间,单位 秒。

getPlayableDuration

说明获得当前正在播放视频的可播放时间,单位 秒。接口

 Future getPlayableDuration() async;

参数说明返回值说明

参数名 类型 描述
playableDuration double 当前视频可播放时,单位 秒。

getWidth

说明获得当前正在播放视频的宽度。接口

Future getWidth() async;

参数说明返回值说明

参数名 类型 描述
width int 当前视频宽度

getHeight

说明获得当前正在播放视频的高度。接口

Future getHeight() async;

参数说明返回值说明

参数名 类型 描述
height int 当前视频高度

setToken

说明加密 HLS 的 token。设置此值后,播放器自动在 URL 中的文件名之前增加 voddrm.token。接口

Future setToken(String? token) async;

参数说明

参数名 类型 描述
token String 播放视频的 token

返回值说明

isLoop

说明获得当前播放器是否循环播放的状态。接口

Future isLoop() async;

参数说明返回值说明

参数名 类型 描述
isLoop bool 播放器是否处于循环播放状态

enableHardwareDecode

说明开启/关闭硬解播放,设置后不会立即生效,需要重新播放才可生效。接口

Future enableHardwareDecode(bool enable);

参数说明

参数名 类型 描述
enable bool 是否开启硬解

返回值说明

参数名 类型 描述
result bool 硬解/软解设置结果

dispose

说明销毁 controller,调用该方法会销毁掉所有通知事件,释放掉播放器。接口

void dispose() async;

参数说明返回值说明

getDuration

说明获取视频总时长。接口

Future getDuration() async;

参数说明返回值说明

参数名 类型 描述
duration double 视频总时长,单位 秒

enterPictureInPictureMode

说明进入画中画模式。接口

Future enterPictureInPictureMode({String? backIconForAndroid, String? playIconForAndroid, String? pauseIconForAndroid, String? forwardIconForAndroid}) async;

参数说明该参数只适用于 Android 平台。

参数名 类型 描述
backIcon String 回退按钮图标,由于 Android 平台限制,图标大小不得超过1M,可不传,不传则使用系统自带图标。
playIcon String 播放按钮图标,由于 Android 平台限制,图标大小不得超过1M,可不传,不传则使用系统自带图标。
pauseIcon String 暂停按钮图标,由于 Android 平台限制,图标大小不得超过1M,可不传,不传则使用系统自带图标。
forwardIcon String 快进按钮图标,由于 Android 平台限制,图标大小不得超过1M,可不传,不传则使用系统自带图标。

返回值说明

参数名 描述
NO_ERROR 0 启动成功,没有错误。
ERROR_PIP_LOWER_VERSION -101 Android 版本过低,不支持画中画模式。
ERROR_PIP_DENIED_PERMISSION -102 画中画模式权限未打开,或者当前设备不支持画中画。
ERROR_PIP_ACTIVITY_DESTROYED -103 当前界面已经销毁
ERROR_IOS_PIP_DEVICE_NOT_SUPPORT -104 设备或系统版本不支持(iPad iOS9+ 才支持PIP),只适用于 iOS。
ERROR_IOS_PIP_PLAYER_NOT_SUPPORT -105 播放器不支持,只适用于 iOS。
ERROR_IOS_PIP_VIDEO_NOT_SUPPORT -106 视频不支持,只适用于 iOS。
ERROR_IOS_PIP_IS_NOT_POSSIBLE -107 PIP 控制器不可用,只适用于 iOS。
ERROR_IOS_PIP_FROM_SYSTEM -108 PIP 控制器报错,只适用于 iOS。
ERROR_IOS_PIP_PLAYER_NOT_EXIST -109 播放器对象不存在,只适用于 iOS。
ERROR_IOS_PIP_IS_RUNNING -110 PIP 功能已经运行,只适用于 iOS。
ERROR_IOS_PIP_NOT_RUNNING -111 PIP 功能没有启动,只适用于 iOS。

initImageSprite

说明初始化视频雪碧图。接口

Future initImageSprite(String? vvtUrl, List? imageUrls) async;

参数说明

参数名 类型 描述
vvtUrl String 雪碧图 web vtt 描述文件下载 URL
imageUrls List 雪碧图图片下载 URL

返回值说明

getImageSprite

说明获取加载的雪碧图。接口

Future getImageSprite(double time) async;

参数说明

参数名 类型 描述
time double 时间点,单位 秒。

返回值说明

参数名 类型 描述
thumb Uint8List 雪碧图

exitPictureInPictureMode

说明退出画中画,如果该播放器处于画中画模式。接口

Future exitPictureInPictureMode() async;

参数说明返回值说明

FTXVodPlayConfig类

属性配置说明

参数名 类型 描述
connectRetryCount int 播放器重连次数,当 SDK 与服务器异常断开连接时,SDK 会尝试与服务器重连,通过该值设置 SDK 重连次数。
connectRetryInterval int 播放器重连间隔,当 SDK 与服务器异常断开连接时,SDK 会尝试与服务器重连,通过该值设置两次重连间隔时间。
timeout int 播放器连接超时时间
playerType int 播放器类型。0:点播,1:直播,2:直播回看。
headers Map 自定义 http headers
enableAccurateSeek bool 是否精确 seek,默认 true。
autoRotate bool 播放 mp4 文件时,若设为 true 则根据文件中的旋转角度自动旋转。旋转角度可在 PLAY_EVT_CHANGE_ROTATION 事件中获得。默认 true。
smoothSwitchBitrate bool 平滑切换多码率 HLS,默认 false。设为 false 时,可提高多码率地址打开速度;设为 true,在 IDR 对齐时可平滑切换码率。
cacheMp4ExtName String 缓存 mp4 文件扩展名,默认 mp4。
progressInterval int 设置进度回调间隔,若不设置,SDK 默认间隔0.5秒回调一次,单位毫秒。
maxBufferSize int 最大播放缓冲大小,单位 MB。此设置会影响 playableDuration,设置越大,提前缓存的越多。
maxPreloadSize int 预加载最大缓冲大小,单位:MB。
firstStartPlayBufferTime int 首缓需要加载的数据时长,单位 ms,默认值为100ms。
nextStartPlayBufferTime int 缓冲时(缓冲数据不够引起的二次缓冲,或者seek引起的拖动缓冲)最少要缓存多长的数据才能结束缓冲,单位 ms,默认值为250ms。
overlayKey String HLS 安全加固加解密 key
overlayIv String HLS 安全加固加解密 Iv
extInfoMap Map 一些不必周知的特殊配置
enableRenderProcess bool 是否允许加载后渲染后处理服务,默认开启,开启后超分插件如果存在,默认加载。
preferredResolution int 优先播放的分辨率,preferredResolution = width * height

TXLivePlayerController类

initialize

说明初始化 controller,请求分配共享纹理。接口

Future initialize({bool? onlyAudio}) async;

参数说明

参数名 类型 描述
onlyAudio bool 选填,是否是纯音频播放器。

返回值说明

startLivePlay

注意10.7版本开始,startPlay 变更为 startLivePlay,需要通过 {@link SuperPlayerPlugin#setGlobalLicense} 设置 Licence 后方可成功播放, 否则将播放失败(黑屏),全局仅设置一次即可。直播 Licence、短视频 Licence 和视频播放 Licence 均可使用,若您暂未获取上述 Licence ,可 快速免费申请测试版 Licence 以正常播放,正式版 License 需 购买。说明通过播视频 url 进行播放。接口

Future play(String url, {int? playType}) async;

参数说明

参数名 类型 描述
url String 要播放的视频 url
playType int 选填,支持的播放类型,默认 RTMP 直播,支持 LIVE_RTMP、LIVE_FLV、LIVE_RTMP_ACC 以及 VOD_HLS,详见 TXPlayType。

返回值说明

参数名 类型 描述
result bool 创建是否成功

pause

说明暂停当前正在播放的视频。接口

Future pause() async;

参数说明返回值说明

resume

说明将当前处于暂停状态的视频恢复播放。接口

Future resume() async;

参数说明返回值说明

stop

说明停止当前正在播放的视频。接口

Future stop({bool isNeedClear = false}) async;

参数说明

参数名 类型 描述
isNeedClear bool 是否清除最后一帧画面

返回值说明

参数名 类型 描述
result bool 停止是否成功

isPlaying

说明当前播放器是否正在播放。接口

Future isPlaying() async;

参数说明返回值说明

参数名 类型 描述
isPlaying bool 是否正在播放

setMute

说明设置当前播放是否静音。接口

Future setMute(bool mute) async;

参数说明

参数名 类型 描述
mute bool 是否静音

返回值说明

setVolume

说明设置视频的声音大小。接口

 Future setVolume(int volume);

参数说明

参数名 类型 描述
volume int 视频声音大小,范围0~100。

返回值说明

setLiveMode

说明设置直播模式。接口

Future setLiveMode(TXPlayerLiveMode mode) async;

参数说明

参数名 类型 描述
mode int 直播模式。自动模式、极速模式、流畅模式。

返回值说明

setAppID

说明设置 appID,云控使用。接口

Future setAppID(int appId) async;

参数说明

参数名 类型 描述
appId int appId

返回值说明

setConfig

说明给播放器进行配置。接口

Future setConfig(FTXLivePlayConfig config) async;

参数说明

参数名 类型 描述
config FTXLivePlayConfig 请参考FTXLivePlayConfig类

返回值说明

enableHardwareDecode

说明开启/关闭硬解播放,设置后不会立即生效,需要重新播放才可生效。接口

Future enableHardwareDecode(bool enable);

参数说明

参数名 类型 描述
enable bool 是否开启硬解

返回值说明

参数名 类型 描述
result bool 硬解/软解设置结果

enterPictureInPictureMode

说明进入画中画模式,仅支持 Android 端,iOS 端直播目前暂不支持画中画模式。接口

Future enterPictureInPictureMode({String? backIconForAndroid, String? playIconForAndroid, String? pauseIconForAndroid, String? forwardIconForAndroid}) async;

参数说明该参数只适用于 android 平台

参数名 类型 描述
backIcon String 回退按钮图标,由于 Android 平台限制,图标大小不得超过1M,可不传,不传则使用系统自带图标。
playIcon String 播放按钮图标,由于 Android 平台限制,图标大小不得超过1M,可不传,不传则使用系统自带图标。
pauseIcon String 暂停按钮图标,由于 Android 平台限制,图标大小不得超过1M,可不传,不传则使用系统自带图标。
forwardIcon String 快进按钮图标,由于 Android 平台限制,图标大小不得超过1M,可不传,不传则使用系统自带图标。

返回值说明

参数名 描述
NO_ERROR 0 启动成功,没有错误。
ERROR_PIP_LOWER_VERSION -101 Android 版本过低,不支持画中画模式。
ERROR_PIP_DENIED_PERMISSION -102 画中画模式权限未打开,或者当前设备不支持画中画。
ERROR_PIP_ACTIVITY_DESTROYED -103 当前界面已经销毁
ERROR_IOS_PIP_DEVICE_NOT_SUPPORT -104 设备或系统版本不支持(iPad iOS9+ 才支持PIP),只适用于 iOS。
ERROR_IOS_PIP_PLAYER_NOT_SUPPORT -105 播放器不支持,只适用于 iOS。
ERROR_IOS_PIP_VIDEO_NOT_SUPPORT -106 视频不支持,只适用于 iOS。
ERROR_IOS_PIP_IS_NOT_POSSIBLE -107 PIP 控制器不可用,只适用于 iOS。
ERROR_IOS_PIP_FROM_SYSTEM -108 PIP 控制器报错,只适用于 iOS。
ERROR_IOS_PIP_PLAYER_NOT_EXIST -109 播放器对象不存在,只适用于 iOS。
ERROR_IOS_PIP_IS_RUNNING -110 PIP 功能已经运行,只适用于 iOS。
ERROR_IOS_PIP_NOT_RUNNING -111 PIP 功能没有启动,只适用于 iOS。

dispose

说明销毁 controller,调用该方法会销毁掉所有通知事件,释放掉播放器。接口

void dispose() async;

参数说明返回值说明

switchStream

说明切换播放流。接口

Future switchStream(String url) async;

参数说明

参数名 类型 描述
url String 需要切换的视频源

返回值说明

参数名 类型 描述
result int 切换结果

FTXLivePlayConfig类

属性配置说明

参数名 类型 描述
cacheTime double 播放器缓存时间,单位秒,取值需要大于0,默认值:5。
maxAutoAdjustCacheTime double 播放器缓存自动调整的最大时间,单位秒,取值需要大于0,默认值:5。
minAutoAdjustCacheTime double 播放器缓存自动调整的最小时间,单位秒,取值需要大于0,默认值为1。
videoBlockThreshold int 播放器视频卡顿报警阈值,单位毫秒,只有渲染间隔超过这个阈值的卡顿才会有 PLAY_WARNING_VIDEO_PLAY_LAG 通知。
connectRetryCount int 播放器遭遇网络连接断开时 SDK 默认重试的次数,取值范围1 – 10,默认值:3。
connectRetryInterval int 网络重连的时间间隔,单位秒,取值范围3 – 30,默认值:3。
autoAdjustCacheTime bool 是否自动调整播放器缓存时间,默认值:true。true:启用自动调整,自动调整的最大值和最小值可以分别通过修改 maxCacheTime 和 minCacheTime 来设置。false:关闭自动调整,采用默认的指定缓存时间(1s),可以通过修改 cacheTime 来调整缓存时间。
enableAec bool 是否开启回声消除, 默认值为 false。
enableMessage bool 是否开启消息通道, 默认值为 true。
enableMetaData bool 是否开启 MetaData 数据回调,默认值为 NO。true:SDK 通过 EVT_PLAY_GET_METADATA 消息抛出视频流的 MetaData 数据。false:SDK 不抛出视频流的 MetaData 数据。
flvSessionKey String 是否开启 HTTP 头信息回调,默认值为 “”。

TXVodDownloadController类

startPreLoad

说明启动预下载。启动预下载前,请先设置好播放引擎的缓存目录[SuperPlayerPlugin.setGlobalCacheFolderPath]和缓存大小[SuperPlayerPlugin.setGlobalMaxCacheSize],这个设置是全局配置需和播放器保持一致,否则会造成播放缓存失效。接口

Future startPreLoad(final String playUrl,final int preloadSizeMB,final int preferredResolution, {FTXPredownlodOnCompleteListener? onCompleteListener,    FTXPredownlodOnErrorListener? onErrorListener,}) async
Future startPreload(TXPlayInfoParams txPlayInfoParams,
    final int preloadSizeMB,
    final int preferredResolution, {
      FTXPredownlodOnCompleteListener? onCompleteListener,
      FTXPredownlodOnErrorListener? onErrorListener,
      FTXPredownlodOnStartListener? onStartListener,
    }) async 

参数说明

参数名 类型 描述
playUrl String 要预下载的 url。
preloadSizeMB int 预下载的大小(单位:MB)。
preferredResolution int 期望分辨率,值为高x宽。可参考如720*1080。不支持多分辨率或不需指定时,传-1。
onCompleteListener FTXPredownlodOnCompleteListener? 预下载成功回调,全局。
onErrorListener FTXPredownlodOnErrorListener 预下载失败回调,全局。

TXPlayInfoParams:

参数名 类型 描述
appId int 应用appId。必填。
fileId String 文件id。必填。
url String 视频 url,与 fileId 只用填写一个,如果都填写,url 优先。
sign String 防盗链签名,参考防盗链产品文档。

返回值说明

参数名 类型 描述
taskId int 任务 ID

stopPreLoad

说明停止预下载。接口

Future stopPreLoad(final int taskId) async 

参数说明

参数名 类型 描述
taskId int 任务 ID

返回值说明

startDownload

说明开始下载视频。接口

Future startDownload(TXVodDownloadMediaInfo mediaInfo) async

参数说明

参数名 类型 描述
mediaInfo TXVodDownloadMediaInfo 下载任务信息

TXVodDownloadMediaInfo

参数名 类型 描述
playPath String? 缓存地址,获得到的视频缓存会有该值,启动下载可以不赋值。
progress double? 缓存进度,获得到的视频缓存会有该值,启动下载可以不赋值。
downloadState int? 缓存状态,获得到的视频缓存会有该值,启动下载可以不赋值。
userName String? 下载账户名称,用于区分不同账户的下载,传空则为 default,
不建议设置字符串长度过长。
duration int? 缓存视频总时长,Android 端单位为毫秒,iOS 为秒,获得到的视频缓存会有该值,启动下载可以不赋值。
playableDuration int? 视频已缓存时长,Android 端单位为毫秒,iOS 为秒,获得到的视频缓存会有该值,启动下载可以不赋值。
size int? 文件总大小,单位:byte,获得到的视频缓存会有该值,启动下载可以不赋值。
downloadSize int? 文件已下载的大小,单位:byte,获得到的视频缓存会有该值,启动下载可以不赋值。
url String? 需要下载的视频 url,url 下载必填,不支持嵌套 m3u8 和 mp4 下载。
dataSource TXVodDownloadDataSource? 需要下载的视频 fileId 信息,url 与该参数可只使用一个。

TXVodDownloadDataSource

参数名 类型 描述
appId int? 下载文件对应的 appId,必填。
fileId String? 下载文件 Id,必填。
pSign String? 加密签名,加密视频必填。
quality int? 清晰度 ID,必传。
token String? 加密 token
userName String? 下载账户名称,用于区分不同账户的下载,传空则为 default。
不建议设置字符串长度过长。

返回值说明

stopDownload

说明停止下载。接口

Future stopDownload(TXVodDownloadMediaInfo mediaInfo) async

参数说明

参数名 类型 描述
mediaInfo TXVodDownloadMediaInfo 任务信息

返回值说明

setDownloadHeaders

说明设置下载任务请求头。接口

Future setDownloadHeaders(Map headers) async

参数说明

参数名 类型 描述
headers Map 请求头信息

返回值说明

getDownloadList

说明获得所有下载任务,包括已下载、正在下载以及下载错误的任务。接口

Future<List> getDownloadList() async

参数说明返回值说明

参数名 类型 描述
mediaInfoList List 任务列表,可通过对比 userName 来区分不同用户的下载。

getDownloadInfo

说明获得下载任务信息。接口

Future getDownloadInfo(TXVodDownloadMediaInfo mediaInfo) async

参数说明

参数名 类型 描述
mediaInfo TXVodDownloadMediaInfo 任务信息

返回值说明

参数名 类型 描述
mediaInfo TXVodDownloadMediaInfo 缓存任务详情信息

setDownloadObserver

说明获得下载任务信息。接口

void setDownloadObserver(FTXDownlodOnStateChangeListener downlodOnStateChangeListener, FTXDownlodOnErrorListener downlodOnErrorListener) 

参数说明

参数名 类型 描述
downlodOnStateChangeListener FTXDownlodOnStateChangeListener 任务下载状态回调
downlodOnErrorListener FTXDownlodOnErrorListener 任务下载错误回调

返回值说明

deleteDownloadMediaInfo

说明删除下载的视频。接口

Future deleteDownloadMediaInfo(TXVodDownloadMediaInfo mediaInfo) async

参数说明

参数名 类型 描述
mediaInfo TXVodDownloadMediaInfo 任务下载信息

返回值说明

参数名 类型 描述
result bool 删除结果



对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?