腾讯云云点播Flutter_音视频解决方案_同尘科技
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折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?