public class com.ss.ttvideoengine.TTVideoEngine
播放引擎。TTVideoEngine 为点播 SDK 的核心对象,提供播放核心接口。
| 返回 | 名称 |
|---|---|
| static String | getEngineVersion |
| static boolean | isSupportSR |
| static String | getEngineUniqueId |
| static String | getDeviceID |
| static void | setStrategySources |
| static void | addStrategySources |
| static void | enableEngineStrategy |
| static void | setEngineStrategyListener |
| static TTVideoEngine | getPreRenderEngine |
| static TTVideoEngine | getPreRenderEngine |
| static void | clearAllStrategy |
| static void | addTask |
| static void | addTask |
| static void | addTask |
| static void | cancelPreloadTask |
| static void | cancelPreloadTaskByVideoId |
| static void | cancelAllPreloadTasks |
| static void | removeCacheFile |
| static void | removeCacheFile |
| static void | forceRemoveCacheFile |
| static DataLoaderHelper.DataLoaderCacheInfo | getCacheInfo |
| static long | quickGetCacheFileSize |
| static void | clearAllCaches |
| static void | clearAllCaches |
| static Resolution | findDefaultResolution |
| static void | removeCacheFile |
| static String | encryptTimestamp |
| static boolean | isDeviceSupportHevcHDR |
public static String com.ss.ttvideoengine.TTVideoEngine.getEngineVersion()
获取 SDK 版本。
返回值
SDK 的版本号。
public static boolean com.ss.ttvideoengine.TTVideoEngine.isSupportSR(int srBackEnd)
判断当前设备是否支持超分。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| srBackEnd | int | 超分后端类型 |
返回值
是否支持超分:
true: 支持。
false: 不支持。
public static String com.ss.ttvideoengine.TTVideoEngine.getEngineUniqueId(Context context)
获取当前设备 DRM 唯一标识。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| context | Context | Android Application Context |
返回值
当前设备 DRM 唯一标识。
注意
如果您删除并重新安装 App,设备的 DRM 唯一标识会重置。
public static String com.ss.ttvideoengine.TTVideoEngine.getDeviceID()
获取设备 ID。
返回值
设备 ID。
注意
您可通过设备 ID 在质量平台追查该设备 ID 的播放记录,详见单点追查。
public static void com.ss.ttvideoengine.TTVideoEngine.setStrategySources(List<StrategySource> strategySources)
设置当前页面播放源列表。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| strategySources | List<StrategySource> | 播放源。 |
注意
该方法用于预加载或预渲染策略。
调用该方法会重置当前的播放源列表,用于首次设置播放源或在刷新页面以显示新数据时使用。
public static void com.ss.ttvideoengine.TTVideoEngine.addStrategySources(List<StrategySource> strategySources)
添加播放源数据到当前播放源列表。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| strategySources | List<StrategySource> | 播放源。 |
注意
该方法用于预加载或预渲染策略。
该方法适用于加载更多数据的业务场景。
public static void com.ss.ttvideoengine.TTVideoEngine.enableEngineStrategy( int type, int scene )
开启策略。SDK 支持预加载和预渲染策略。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | int | 策略类型:
|
| scene | int | 使用场景。SDK 策略搭配场景使用,可达到不同场景最佳实践。
|
注意
public static void com.ss.ttvideoengine.TTVideoEngine.setEngineStrategyListener(EngineStrategyListener listener)
设置策略相关回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| listener | EngineStrategyListener | 策略相关回调,详见 EngineStrategyListener。 |
public static TTVideoEngine com.ss.ttvideoengine.TTVideoEngine.getPreRenderEngine(StrategySource source)
通过 StrategySource 获取预渲染完成的 TTVideoEngine 对象。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| source | StrategySource | 播放源。 |
返回值
预渲染完成的 TTVideoEngine 对象。
public static TTVideoEngine com.ss.ttvideoengine.TTVideoEngine.getPreRenderEngine(String vid)
通过 vid 获取预渲染完成的 TTVideoEngine 对象。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| vid | String | 视频 ID。 |
返回值
预渲染完成的 TTVideoEngine 对象。
public static void com.ss.ttvideoengine.TTVideoEngine.clearAllStrategy()
清除所有策略,释放资源。
注意
在退出当前页面或切换到其他页面时调用此方法。
public static void com.ss.ttvideoengine.TTVideoEngine.addTask(PreloaderVidItem vidItem)
添加 Vid 播放源预加载任务。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| vidItem | PreloaderVidItem | Vid 播放源预加载任务,详见 PreloaderVidItem。 |
public static void com.ss.ttvideoengine.TTVideoEngine.addTask(PreloaderURLItem urlItem)
添加 DirectUrl 播放源预加载任务。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| urlItem | PreloaderURLItem | DirectUrl 播放源预加载任务,详见 PreloaderURLItem。 |
public static void com.ss.ttvideoengine.TTVideoEngine.addTask(PreloaderVidSubtitleItem vidSubtitleItem)
添加 Vid 播放源字幕预加载任务。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| vidSubtitleItem | PreloaderVidSubtitleItem | Vid 播放源字幕预加载任务。 |
public static void com.ss.ttvideoengine.TTVideoEngine.cancelPreloadTask(String key)
根据缓存 key 取消预加载任务。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | String | 缓存 key,即 DirectUrl 播放源预加载任务的唯一标识。 |
public static void com.ss.ttvideoengine.TTVideoEngine.cancelPreloadTaskByVideoId(String vid)
根据视频 ID 取消预加载任务。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| vid | String | 视频 ID。 |
public static void com.ss.ttvideoengine.TTVideoEngine.cancelAllPreloadTasks()
取消所有预加载任务。
public static void com.ss.ttvideoengine.TTVideoEngine.removeCacheFile(String key)
根据缓存 key 移除缓存文件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | String | 缓存 key。 |
注意
如果缓存文件被引用,可能移除失败。
public static void com.ss.ttvideoengine.TTVideoEngine.removeCacheFile(String key, DataLoaderHelper.CacheFileType cacheFileType)
根据缓存 key 和 缓存文件类型删除数据加载模块的缓存数据。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | String | 缓存 key。 |
cacheFileType | Enum | 缓存文件类型:
|
注意
如果缓存文件被引用,可能移除失败。
public static void com.ss.ttvideoengine.TTVideoEngine.forceRemoveCacheFile(String key)
根据缓存 key 强制移除缓存文件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | String | 缓存 key。 |
public static DataLoaderHelper.DataLoaderCacheInfo com.ss.ttvideoengine.TTVideoEngine.getCacheInfo(String key)
获取本地缓存的视频信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | String | 缓存 key。 |
返回值
视频信息。
public static long com.ss.ttvideoengine.TTVideoEngine.quickGetCacheFileSize(String key)
获取本地缓存文件大小。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | String | 缓存 key。 |
返回值
本地缓存文件大小。
public static void com.ss.ttvideoengine.TTVideoEngine.clearAllCaches()
删除所有数据加载模块的缓存数据。
注意
此方法不全部删除所有缓存数据,而是会按照 Least Recently Used (LRU) 算法保留最近播放的 10 条左右数据,从而优化实际播放体验。
public static void com.ss.ttvideoengine.TTVideoEngine.clearAllCaches(boolean force)
删除所有数据加载模块的缓存数据。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| force | boolean | 是否强制删除所有数据加载模块缓存数据。
|
public static Resolution com.ss.ttvideoengine.TTVideoEngine.findDefaultResolution( VideoModel model, Resolution defaultResolution )
获取指定清晰度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| model | VideoModel | VideoModel 播放源。 |
| defaultResolution | Resolution | 清晰度。通常设置为应用的默认清晰度。 |
返回值
如果 VideoModel 中存在 defaultResolution,则返回 defaultResolution。
如果 VideoModel 中不存在 defaultResolution,则返回与 defaultResolution 最接近的清晰度。
public static void com.ss.ttvideoengine.TTVideoEngine.removeCacheFile(IVideoModel model)
移除本地的缓存文件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| model | IVideoModel | VideoModel 播放源。 |
public static String com.ss.ttvideoengine.TTVideoEngine.encryptTimestamp( Context context, long timestamp )
私有 DRM 加密视频的本地时间戳。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| context | Context | Android Application Context |
| timestamp | long | 需要加密的时间戳。 |
返回值
加密后的时间戳。
注意
该时间戳跟当前设备绑定。
public static boolean com.ss.ttvideoengine.TTVideoEngine.isDeviceSupportHevcHDR(Context context)
设备是否支持Hevc和HDR
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| context | Context | 应用程序上下文 |
返回值
返回是否支持Hevc和HDR
true: 支持。
false: 不支持。
public void com.ss.ttvideoengine.TTVideoEngine.setRadioMode(boolean on)
设置是否开启纯音频播放模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| on | boolean | 是否开启纯音频播放模式:
|
public void com.ss.ttvideoengine.TTVideoEngine.setUseEngineDisplayMode(boolean useEngineDisplayMode)
设置是否开启显示模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| useEngineDisplayMode | boolean | 是否开启显示模式:
|
public void com.ss.ttvideoengine.TTVideoEngine.setDisplayMode( View disPlayView, int disPlayMode )
设置视频填充模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| disPlayView | View | 显示画面的 TextureView 或 SurfaceView。 |
| disPlayMode | int | 视频填充模式。
|
public Bitmap com.ss.ttvideoengine.TTVideoEngine.saveFrame()
获取当前视频帧数据。
返回值
当前视频帧数据。
public void com.ss.ttvideoengine.TTVideoEngine.snapshot(SnapshotListener snapshotListener)
截图。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| snapshotListener | SnapshotListener | 截图相关回调,详见 SnapshotListener。 |
public boolean com.ss.ttvideoengine.TTVideoEngine.clearSurface( Surface surface, boolean async )
清理 Surface 上的内容。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| surface | Surface | 需要清理的 Surface。 |
| async | boolean | 是否异步执行。 |
返回值
清理结果。如果是异步执行,则不会返回 false。
public void com.ss.ttvideoengine.TTVideoEngine.openTextureSR( boolean useSRTexture, boolean open )
开启/关闭超分。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| useSRTexture | boolean | 是否使用带超分的 Texture Render。 |
| open | boolean | 是否开启超分:
|
public void com.ss.ttvideoengine.TTVideoEngine.setBarrageMaskUrlUseDataLoader( String barrageMaskUrl, String key )
设置蒙版弹幕 URL。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| barrageMaskUrl | String | 蒙版弹幕 URL。 |
| key | String | 缓存 key。 |
public void com.ss.ttvideoengine.TTVideoEngine.asyncInitSR(boolean asyncInit)
设置是否异步初始化超分。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| asyncInit | boolean | 异步初始化超分:
|
public void com.ss.ttvideoengine.TTVideoEngine.dynamicControlSR(boolean dynamicControl)
设置播放过程中是否可动态开启或关闭超分。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| dynamicControl | boolean | 是否播放过程中可动态开启或关闭超分:
|
public void com.ss.ttvideoengine.TTVideoEngine.setSRInitConfig( int algType, String strKernelBinPath, String strOclModuleName, String strDspModuleName, int backend, int scaleType, int poolSize )
设置超分参数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| algType | int | 超分算法类型,设为 5。 |
| strKernelBinPath | String | 核心库的本地路径。 |
| strOclModuleName | String | 设为 SR。 |
| strDspModuleName | String | 设为 SR。 |
| backend | int | 设为 0。 |
| scaleType | int | 设为 0,代表 2 倍超分。 |
| poolSize | int | 设为 0。 |
public boolean com.ss.ttvideoengine.TTVideoEngine.isplaybackUsedSR()
获取当次播放是否开启超分。
返回值
当次播放是否开启超分。
public void com.ss.ttvideoengine.TTVideoEngine.ignoreSRResolutionLimit(boolean ignore)
是否忽略超分对分辨率限制。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| ignore | boolean | 是否忽略:
|
public void com.ss.ttvideoengine.TTVideoEngine.setMaskInfoListener(MaskInfoListener listener)
设置蒙版弹幕信息回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| listener | MaskInfoListener | 蒙版弹幕信息回调,详见 MaskInfoListener。 |
public void com.ss.ttvideoengine.TTVideoEngine.setSubInfoListener(SubInfoListener listener)
设置字幕信息回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| listener | SubInfoListener | 字幕信息回调对象,详见 SubInfoListener。 |
public void com.ss.ttvideoengine.TTVideoEngine.setSubInfoCallBack(SubInfoSimpleCallBack callback)
设置字幕回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| callback | SubInfoSimpleCallBack | 字幕回调对象,详见 SubInfoSimpleCallBack。 |
public void com.ss.ttvideoengine.TTVideoEngine.setSubDesInfoModel(SubDesInfoModelProvider subDesInfoModel)
设置字幕源,包括多种语言字幕信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| subDesInfoModel | SubDesInfoModelProvider | 字幕源对象,详见 SubDesInfoModelProvider。 |
public void com.ss.ttvideoengine.TTVideoEngine.setAdditionSubModel(SubModelProvider subModel)
添加不同语言字幕源。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| subModel | SubModelProvider | 单个语言字幕源对象。 |
public boolean com.ss.ttvideoengine.TTVideoEngine.isSupportHDR()
判断当前设备是否支持 HDR 播放。
返回值
是否支持 HDR:
true: 支持。
false: 不支持。
public boolean com.ss.ttvideoengine.TTVideoEngine.isSupportSR()
判断当前设备是否支持超分。
返回值
是否支持超分:
true: 支持。
false: 不支持。
public void com.ss.ttvideoengine.TTVideoEngine.setSurface(Surface surface)
设置 Surface 对象。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| surface | Surface | Surface 对象。 |
public Surface com.ss.ttvideoengine.TTVideoEngine.getSurface()
获取 Surface 对象。
返回值
Surface 对象。
public void com.ss.ttvideoengine.TTVideoEngine.setRotation(int rotation)
设置视频旋转角度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| rotation | int | 视频旋转角度。仅支持设为 0、90、180、270,其他值无效。设置后,视频会顺时针旋转。 |
注意
调用此方法前需开启 Texture Render。
public int com.ss.ttvideoengine.TTVideoEngine.getRotation()
获取视频旋转角度。
返回值
视频旋转角度。
注意
调用此方法前需开启 Texture Render。
public void com.ss.ttvideoengine.TTVideoEngine.setMirrorHorizontal(boolean isMirror)
设置水平镜像。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| isMirror | boolean | 是否水平镜像。
|
注意
调用此方法前需开启 Texture Render。
public boolean com.ss.ttvideoengine.TTVideoEngine.getMirrorHorizontal()
获取是否设置水平镜像。
返回值
是否设置水平镜像。
注意
调用此方法前需开启 Texture Render。
public void com.ss.ttvideoengine.TTVideoEngine.setMirrorVertical(boolean isMirror)
设置垂直镜像。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| isMirror | boolean | 是否垂直镜像。
|
注意
调用此方法前需开启 Texture Render。
public boolean com.ss.ttvideoengine.TTVideoEngine.getMirrorVertical()
获取是否设置垂直镜像。
返回值
是否设置垂直镜像。
注意
调用此方法前需开启 Texture Render。
public void com.ss.ttvideoengine.TTVideoEngine.setSurfaceHolder(SurfaceHolder surfaceHolder)
设置 SurfaceHolder 对象。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| surfaceHolder | SurfaceHolder | SurfaceHolder 对象。 |
public void com.ss.ttvideoengine.TTVideoEngine.setSurfaceHolderSync(SurfaceHolder surfaceHolder)
在 engine looper 模式下同步设置 SurfaceHolder 对象。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| surfaceHolder | SurfaceHolder | SurfaceHolder 对象。 |
public void com.ss.ttvideoengine.TTVideoEngine.setCustomHeader( String key, String value )
设置自定义 header。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | String | Key |
| value | String | Value |
注意
您可以通过此方法更改 UA,示例:engine.setCustomHeader("User-Agent", " ByteVod(Playback)");。
public void com.ss.ttvideoengine.TTVideoEngine.setVolume( float left, float right )
设置系统左右声道音量。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| left | float | 左声道音量。取值范围为 [0,maxVolume]。 |
| right | float | 右声道音量。取值范围为 [0,maxVolume]。 |
注意
你可以调用 getMaxVolume 获取系统最大音量。
public float com.ss.ttvideoengine.TTVideoEngine.getMaxVolume()
获取系统最大音量。
返回值
系统最大音量。
public float com.ss.ttvideoengine.TTVideoEngine.getVolume()
获取当前音量。
返回值
当前音量。
public void com.ss.ttvideoengine.TTVideoEngine.setIsMute(boolean isMute)
设置是否静音。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| isMute | boolean | 是否静音:
|
public boolean com.ss.ttvideoengine.TTVideoEngine.isMute()
判断是否静音。
返回值
是否静音:
true: 静音。false: 没有静音。public void com.ss.ttvideoengine.TTVideoEngine.setStartTime(int msec)
设置起始播放时间。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msec | int | 起始播放时间,单位毫秒。 |
public int com.ss.ttvideoengine.TTVideoEngine.getStartTime()
获取起始播放时间。
public void com.ss.ttvideoengine.TTVideoEngine.setVideoEngineCallback(VideoEngineCallback videoEngineCallback)
设置播放回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoEngineCallback | VideoEngineCallback | 播放回调对象,详见 VideoEngineCallback。 |
public void com.ss.ttvideoengine.TTVideoEngine.addVideoEngineCallback(VideoEngineCallback videoEngineCallback)
添加播放回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoEngineCallback | VideoEngineCallback | 播放回调对象,详见 VideoEngineCallback。 |
public void com.ss.ttvideoengine.TTVideoEngine.removeVideoEngineCallback(VideoEngineCallback videoEngineCallback)
移除播放回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoEngineCallback | VideoEngineCallback | 播放回调对象,详见 VideoEngineCallback。 |
public void com.ss.ttvideoengine.TTVideoEngine.setVideoInfoListener(VideoInfoListener listener)
设置视频信息回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| listener | VideoInfoListener | 视频信息回调对象,详见 VideoInfoListener。 |
public void com.ss.ttvideoengine.TTVideoEngine.setVideoEngineInfoListener(VideoEngineInfoListener listener)
设置播放器通用监听回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| listener | VideoEngineInfoListener | 播放器通用监听回调对象,详见 VideoEngineInfoListener。 |
public void com.ss.ttvideoengine.TTVideoEngine.setDecryptionKey(String decryptionKey)
设置 DRM 解密 key。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| decryptionKey | String | 解密 key。 |
public boolean com.ss.ttvideoengine.TTVideoEngine.isPrepared()
判断当前播放器是否处于 prepared 状态。
返回值
当前播放器是否处于 prepared 状态,即解码器是否准备完成。
public boolean com.ss.ttvideoengine.TTVideoEngine.isReleased()
判断当前播放器是否已释放。
返回值
当前播放器是否已释放。
public StrategySource com.ss.ttvideoengine.TTVideoEngine.getStrategySource()
获取当前播放源。
返回值
当前播放源。
public void com.ss.ttvideoengine.TTVideoEngine.setStrategySource(StrategySource strategySource)
设置播放源。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| strategySource | StrategySource | 播放源。 |
public void com.ss.ttvideoengine.TTVideoEngine.setSource(Source source)
设置播放源。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| source | Source | 播放源。 |
public void com.ss.ttvideoengine.TTVideoEngine.setTag(String tag)
设置业务类型。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| tag | String | 业务类型,用于区分同一应用(appid)内不同类型的音视频。您可以根据业务需要按视频场景、视频时长等划分,比如沉浸式 feed 流、短视频视频、长视频等。 |
public void com.ss.ttvideoengine.TTVideoEngine.setSubTag(String subTag)
设置自定义标签。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| subTag | String | 自定义标签,用于区分同一业务类型下的不同细分,比如音视频是否加密。 |
public String com.ss.ttvideoengine.TTVideoEngine.getCurrentPlayUrl()
获取当前播放视频的URL
public void com.ss.ttvideoengine.TTVideoEngine.setSubAuthToken(String authToken)
设置字幕 token。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| authToken | String | 字幕 token。 |
public List<com.ss.ttvideoengine.model.SubInfo> com.ss.ttvideoengine.TTVideoEngine.supportedSubInfoList()
获取所有支持字幕源对象列表。
返回值
所有支持字幕源对象列表。
public Resolution[] com.ss.ttvideoengine.TTVideoEngine.supportedResolutionTypes()
获取所有支持的清晰度列表。
返回值
清晰度数组。
public void com.ss.ttvideoengine.TTVideoEngine.configResolution(Resolution resolution)
切换指定的清晰度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| resolution | Resolution | 清晰度。 |
public Resolution com.ss.ttvideoengine.TTVideoEngine.getCurrentResolution()
获取当前清晰度。
返回值
当前清晰度。
public void com.ss.ttvideoengine.TTVideoEngine.prepare()
准备播放。
注意
该方法适用于预渲染策略。您设置播放源后,需要调用此方法,SDK 会渲染视频首帧,但不会马上播放。SDK 完成渲染视频首帧后,会触发 onReadyForDisplay 回调。
public void com.ss.ttvideoengine.TTVideoEngine.play()
开始播放。
public void com.ss.ttvideoengine.TTVideoEngine.pause()
暂停播放。
public void com.ss.ttvideoengine.TTVideoEngine.stop()
停止播放。
public synchronized void com.ss.ttvideoengine.TTVideoEngine.releaseAsync()
异步释放播放器。
public void com.ss.ttvideoengine.TTVideoEngine.setLooping(boolean looping)
设置是否开启循环播放。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| looping | boolean | 是否开启循环播放。 |
public boolean com.ss.ttvideoengine.TTVideoEngine.isLooping()
获取是否开启循环播放。
返回值
是否开启循环播放。
public int com.ss.ttvideoengine.TTVideoEngine.getDuration()
获取视频总时长。
返回值
视频总时长,单位为毫秒。
public int com.ss.ttvideoengine.TTVideoEngine.getLoadedProgress()
获取视频加载进度。
返回值
视频加载进度。取值范围为 [0,100]。
public int com.ss.ttvideoengine.TTVideoEngine.getPlaybackState()
获取当前播放状态。
返回值
当前播放状态:
TTVideoEngine.PLAYBACK_STATE_STOPPED: 播放停止。
TTVideoEngine.PLAYBACK_STATE_PLAYING: 播放中。
TTVideoEngine.PLAYBACK_STATE_PAUSED: 播放暂停。
TTVideoEngine.PLAYBACK_STATE_ERROR: 播放出错。
public int com.ss.ttvideoengine.TTVideoEngine.getLoadState()
获取当前播放器加载状态。
返回值
当前播放器加载状态:
TTVideoEngine.LOAD_STATE_UNKNOWN: 初始状态。TTVideoEngine.LOAD_STATE_PLAYABLE: 加载完成,开始播放。TTVideoEngine.LOAD_STATE_STALLED: 加载中,出现卡顿。TTVideoEngine.LOAD_STATE_ERROR: 加载出错。public boolean com.ss.ttvideoengine.TTVideoEngine.isStarted()
判断播放器是否开始播放。
返回值
播放器是否开始播放。
注意
play 后,isStarted 即为 true。isStarted 即为 false。public int com.ss.ttvideoengine.TTVideoEngine.getCurrentPlaybackTime()
获取当前播放位置。
返回值
当前播放位置,单位为毫秒。
public int com.ss.ttvideoengine.TTVideoEngine.getCurrentPlaybackTimeAsync()
获取当前播放位置(非精准)。
返回值
当前播放进度,单位为毫秒。
注意
public int com.ss.ttvideoengine.TTVideoEngine.getVideoWidth()
获取视频宽。
返回值
视频宽。
public int com.ss.ttvideoengine.TTVideoEngine.getVideoHeight()
获取视频高。
返回值
视频高。
public int com.ss.ttvideoengine.TTVideoEngine.getWatchedDuration()
获取累计播放时长。
返回值
累计播放时长,单位为毫秒。
注意
假设您当前正在观看一段视频,首先观看到第 10 秒,然后回退至第 5 秒,随后再次观看到第 10 秒。此时,累计播放时长为 15 秒。
public void com.ss.ttvideoengine.TTVideoEngine.seekTo( int msec, SeekCompletionListener listener )
跳转至指定位置播放。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msec | int | 指定播放位置,单位为毫秒。 |
| listener | SeekCompletionListener | Seek 完成回调,详见 SeekCompletionListener。 |
public VideoFormatInfo com.ss.ttvideoengine.TTVideoEngine.getVideoFormatInfo()
获取当前播放视频的视频信息。
返回值
当前播放视频的视频信息,详见 VideoFormatInfo。
public void com.ss.ttvideoengine.TTVideoEngine.setFFmpegProtocolObject(TTVideoEngineFFmpegProtocol obj)
设置您自行实现的 TTVideoEngineFFmpegProtocol 协议对象,用于支持私有 FFmpeg 加密协议。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| obj | TTVideoEngineFFmpegProtocol | 您自行实现的 TTVideoEngineFFmpegProtocol 协议的对象。 |
public String com.ss.ttvideoengine.TTVideoEngine.getTag()
获取业务类型 tag。
返回值
业务类型 tag。
public String com.ss.ttvideoengine.TTVideoEngine.getSubTag()
获取自定义标签 subTag。
返回值
自定义标签 subTag。
public String com.ss.ttvideoengine.TTVideoEngine.toString()
public class com.ss.ttvideoengine.download.Downloader
下载任务管理器。
| 返回 | 名称 |
|---|---|
| static Downloader | getInstance |
| 返回 | 名称 |
|---|---|
| void | loadAllTasks |
| DownloadURLTask | urlTask |
| DownloadVidTask | vidTask |
| void | setListener |
| IDownloaderListener | getListener |
| void | setMaxDownloadOperationCount |
| long | getMaxDownloadOperationCount |
| void | setLimitFreeDiskSize |
| long | getLimitFreeDiskSize |
| void | resumeAllTasks |
| void | suspendAllTasks |
| void | invalidateAndCancelAllTasks |
public static Downloader com.ss.ttvideoengine.download.Downloader.getInstance()
获取下载任务管理器实例。
返回值
Downloader 实例。
public void com.ss.ttvideoengine.download.Downloader.loadAllTasks(Context context)
获取所有下载任务,包括已完成和未完成。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| context | Context | Android Application Context |
注意
用户退出后重新进入 App 时,您可调用此接口获取已下载完成和未完成的下载任务列表。
在 SDK 初始化后调用此方法。此方法执行完成后,SDK 会触发 downloaderDidLoadAllTask 回调。
public DownloadURLTask com.ss.ttvideoengine.download.Downloader.urlTask( String[] urls, String key, @Nullable String videoId )
创建 DirectUrl 播放源下载任务。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| urls | String[] | DirectUrl 播放源下载任务,支持主备 URL。 |
| key | String | DirectUrl 播放源下载任务唯一标识 cache key。 |
| videoId | @Nullable String | 视频 ID。 |
返回值
DownloadURLTask 实例。
public DownloadVidTask com.ss.ttvideoengine.download.Downloader.vidTask( String videoId, Resolution resolution, String authToken )
创建 Vid 播放源下载任务。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoId | String | 视频 ID。 |
| resolution | Resolution | 视频分辨率。 |
| authToken | String | 视频播放 token。 |
返回值
DownloadVidTask 实例。
public void com.ss.ttvideoengine.download.Downloader.setListener(IDownloaderListener listener)
设置下载回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| listener | IDownloaderListener | 下载回调对象,详见 IDownloaderListener。 |
public IDownloaderListener com.ss.ttvideoengine.download.Downloader.getListener()
获取下载回调。
返回值
下载回调对象,详见 IDownloaderListener。
public void com.ss.ttvideoengine.download.Downloader.setMaxDownloadOperationCount(long maxDownloadOperationCount)
设置下载任务最大并发数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| maxDownloadOperationCount | long | 下载任务最大并发数。默认值为 1。 |
public long com.ss.ttvideoengine.download.Downloader.getMaxDownloadOperationCount()
获取下载任务最大并发数。
返回值
下载任务最大并发数。
public void com.ss.ttvideoengine.download.Downloader.setLimitFreeDiskSize(long limitFreeDiskSize)
设置磁盘缓存剩余空间限制。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| limitFreeDiskSize | long | 磁盘缓存剩余空间限制。单位为 bytes,默认值为 1024 * 1024 * 1024 * 1,表示 1 GB。如果剩余磁盘大小不足 1G,则返回 ERROR_CODE_DOWNLOAD_DISK_FULL 错误。 |
public long com.ss.ttvideoengine.download.Downloader.getLimitFreeDiskSize()
获取磁盘缓存剩余空间限制。
返回值
磁盘缓存剩余空间限制。
public void com.ss.ttvideoengine.download.Downloader.resumeAllTasks()
开始/恢复所有下载任务。
public void com.ss.ttvideoengine.download.Downloader.suspendAllTasks()
暂停所有下载任务。
public void com.ss.ttvideoengine.download.Downloader.invalidateAndCancelAllTasks()
删除所有下载任务。
public class com.ss.ttvideoengine.download.DownloadTask
下载任务。
| 返回 | 名称 |
|---|---|
| MediaType | getMediaType |
| String | getAvailableLocalFilePath |
| long | getBytesExpectedToReceive |
| long | getBytesReceived |
| int | getState |
| String | getVideoId |
| void | invalidateAndCancel |
| void | suspend |
| void | resume |
public MediaType com.ss.ttvideoengine.download.DownloadTask.getMediaType()
获取媒资类型。
返回值
媒资类型。
注意
如果媒资类型为 M3U8,则进度值为百分比,而不是实际接收的大小或介质大小。
public String com.ss.ttvideoengine.download.DownloadTask.getAvailableLocalFilePath()
获取可用本地文件路径。
返回值
可用本地文件路径。
public long com.ss.ttvideoengine.download.DownloadTask.getBytesExpectedToReceive()
获取预期接收的字节数量。
返回值
预期接收的字节数量。
public long com.ss.ttvideoengine.download.DownloadTask.getBytesReceived()
获取接收到的字节数。
返回值
接收到的字节数。
public int com.ss.ttvideoengine.download.DownloadTask.getState()
获取下载任务状态。
返回值
下载任务状态:
DOWNLOAD_TASK_STATE_INIT: 初始化。
DOWNLOAD_TASK_STATE_WAITING: 等待中。
DOWNLOAD_TASK_STATE_RUNNING: 运行中。
DOWNLOAD_TASK_STATE_SUSPENDED: 暂停。
DOWNLOAD_TASK_STATE_CANCELING: 正在取消。
DOWNLOAD_TASK_STATE_COMPLETED: 完成。
public String com.ss.ttvideoengine.download.DownloadTask.getVideoId()
获取下载任务对应的视频 ID。
返回值
视频 ID。
public void com.ss.ttvideoengine.download.DownloadTask.invalidateAndCancel()
删除单个下载任务。
public void com.ss.ttvideoengine.download.DownloadTask.suspend()
暂停单个下载任务。
public void com.ss.ttvideoengine.download.DownloadTask.resume()
开始或恢复单个下载任务。
public class com.ss.ttvideoengine.download.DownloadURLTask
DirectUrl 播放源下载任务。
| 返回 | 名称 |
|---|---|
| String | getVideoId |
| void | suspend |
| void | resume |
public String com.ss.ttvideoengine.download.DownloadURLTask.getVideoId()
获取视频 ID。
返回值
视频 ID, 可能为空。
public void com.ss.ttvideoengine.download.DownloadURLTask.suspend()
暂停下载任务。
public void com.ss.ttvideoengine.download.DownloadURLTask.resume()
恢复下载任务。
public class com.ss.ttvideoengine.download.DownloadVidTask
Vid 播放源下载任务。
| 返回 | 名称 |
|---|---|
| String | getVideoId |
| IDownloadVidTaskListener | getFetchListener |
| VideoModel | getVideoModel |
| void | setVideoModel |
| boolean | isBaseDashEnable |
| boolean | ish265Enable |
| Resolution | getCurrentResolution |
| void | invalidateAndCancel |
| void | suspend |
| void | resume |
| String | getAvailableLocalFilePath |
public String com.ss.ttvideoengine.download.DownloadVidTask.getVideoId()
获取视频 ID。
返回值
返回视频 ID。
public IDownloadVidTaskListener com.ss.ttvideoengine.download.DownloadVidTask.getFetchListener()
获取视频信息回调监听。
返回值
视频信息回调监听。
public VideoModel com.ss.ttvideoengine.download.DownloadVidTask.getVideoModel()
获取 VideoModel 视频信息。
返回值
VideoModel 视频信息。
public void com.ss.ttvideoengine.download.DownloadVidTask.setVideoModel(VideoModel videoModel)
设置 VideoModel 视频源。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoModel | VideoModel | VideoModel 下载视频信息。 |
public boolean com.ss.ttvideoengine.download.DownloadVidTask.isBaseDashEnable()
判断是否开启 DASH。
返回值
是否开启 DASH。
public boolean com.ss.ttvideoengine.download.DownloadVidTask.ish265Enable()
判断编码类型为 H.265。
返回值
编码类型为 H.265。
public Resolution com.ss.ttvideoengine.download.DownloadVidTask.getCurrentResolution()
获取当前分辨率。
返回值
当前分辨率。
public void com.ss.ttvideoengine.download.DownloadVidTask.invalidateAndCancel()
删除 Vid 播放源下载任务。
public void com.ss.ttvideoengine.download.DownloadVidTask.suspend()
暂停下载任务。
public void com.ss.ttvideoengine.download.DownloadVidTask.resume()
恢复下载任务。
public String com.ss.ttvideoengine.download.DownloadVidTask.getAvailableLocalFilePath()
获取可用本地文件路径。
返回值
可用本地文件路径。