You need to enable JavaScript to run this app.
文档中心
视频点播

视频点播

复制全文
下载 pdf
SDK API 参考
API 详情
复制全文
下载 pdf
API 详情

TTVideoEngine
public class com.ss.ttvideoengine.TTVideoEngine

播放引擎。TTVideoEngine 为点播 SDK 的核心对象,提供播放核心接口。

静态函数

返回名称
static StringgetEngineVersion
static booleanisSupportSR
static StringgetEngineUniqueId
static StringgetDeviceID
static voidsetStrategySources
static voidaddStrategySources
static voidenableEngineStrategy
static voidsetEngineStrategyListener
static TTVideoEnginegetPreRenderEngine
static TTVideoEnginegetPreRenderEngine
static voidclearAllStrategy
static voidaddTask
static voidaddTask
static voidaddTask
static voidcancelPreloadTask
static voidcancelPreloadTaskByVideoId
static voidcancelAllPreloadTasks
static voidremoveCacheFile
static voidremoveCacheFile
static voidforceRemoveCacheFile
static DataLoaderHelper.DataLoaderCacheInfogetCacheInfo
static longquickGetCacheFileSize
static voidclearAllCaches
static voidclearAllCaches
static ResolutionfindDefaultResolution
static voidremoveCacheFile
static StringencryptTimestamp
static booleanisDeviceSupportHevcHDR

成员函数

返回名称
voidsetRadioMode
voidsetUseEngineDisplayMode
voidsetDisplayMode
BitmapsaveFrame
voidsnapshot
booleanclearSurface
voidopenTextureSR
voidsetBarrageMaskUrlUseDataLoader
voidasyncInitSR
voiddynamicControlSR
voidsetSRInitConfig
booleanisplaybackUsedSR
voidignoreSRResolutionLimit
voidsetMaskInfoListener
voidsetSubInfoListener
voidsetSubInfoCallBack
voidsetSubDesInfoModel
voidsetAdditionSubModel
booleanisSupportHDR
booleanisSupportSR
voidsetSurface
SurfacegetSurface
voidsetRotation
intgetRotation
voidsetMirrorHorizontal
booleangetMirrorHorizontal
voidsetMirrorVertical
booleangetMirrorVertical
voidsetSurfaceHolder
voidsetSurfaceHolderSync
voidsetCustomHeader
voidsetVolume
floatgetMaxVolume
floatgetVolume
voidsetIsMute
booleanisMute
voidsetStartTime
intgetStartTime
voidsetVideoEngineCallback
voidaddVideoEngineCallback
voidremoveVideoEngineCallback
voidsetVideoInfoListener
voidsetVideoEngineInfoListener
voidsetDecryptionKey
booleanisPrepared
booleanisReleased
StrategySourcegetStrategySource
voidsetStrategySource
voidsetSource
voidsetTag
voidsetSubTag
StringgetCurrentPlayUrl
voidsetSubAuthToken
List<com.ss.ttvideoengine.model.SubInfo>supportedSubInfoList
Resolution[]supportedResolutionTypes
voidconfigResolution
ResolutiongetCurrentResolution
voidprepare
voidplay
voidpause
voidstop
synchronized voidreleaseAsync
voidsetLooping
booleanisLooping
intgetDuration
intgetLoadedProgress
intgetPlaybackState
intgetLoadState
booleanisStarted
intgetCurrentPlaybackTime
intgetCurrentPlaybackTimeAsync
intgetVideoWidth
intgetVideoHeight
intgetWatchedDuration
voidseekTo
VideoFormatInfogetVideoFormatInfo
voidsetFFmpegProtocolObject
StringgetTag
StringgetSubTag
StringtoString

函数说明

getEngineVersion

public static String com.ss.ttvideoengine.TTVideoEngine.getEngineVersion()

获取 SDK 版本。

返回值

SDK 的版本号。

isSupportSR

public static boolean com.ss.ttvideoengine.TTVideoEngine.isSupportSR(int srBackEnd)

判断当前设备是否支持超分。

传入参数

参数名类型说明
srBackEndint超分后端类型

返回值

是否支持超分:

  • true: 支持。

  • false: 不支持。

getEngineUniqueId

public static String com.ss.ttvideoengine.TTVideoEngine.getEngineUniqueId(Context context)

获取当前设备 DRM 唯一标识。

传入参数

参数名类型说明
contextContextAndroid Application Context

返回值

当前设备 DRM 唯一标识。

注意

如果您删除并重新安装 App,设备的 DRM 唯一标识会重置。

getDeviceID

public static String com.ss.ttvideoengine.TTVideoEngine.getDeviceID()

获取设备 ID。

返回值

设备 ID。

注意

您可通过设备 ID 在质量平台追查该设备 ID 的播放记录,详见单点追查。

setStrategySources

public static void com.ss.ttvideoengine.TTVideoEngine.setStrategySources(List<StrategySource> strategySources)

设置当前页面播放源列表。

传入参数

参数名类型说明
strategySourcesList<StrategySource>播放源。

注意

  • 该方法用于预加载或预渲染策略。

  • 调用该方法会重置当前的播放源列表,用于首次设置播放源或在刷新页面以显示新数据时使用。

addStrategySources

public static void com.ss.ttvideoengine.TTVideoEngine.addStrategySources(List<StrategySource> strategySources)

添加播放源数据到当前播放源列表。

传入参数

参数名类型说明
strategySourcesList<StrategySource>播放源。

注意

  • 该方法用于预加载或预渲染策略。

  • 该方法适用于加载更多数据的业务场景。

enableEngineStrategy

public static void com.ss.ttvideoengine.TTVideoEngine.enableEngineStrategy(
    int type,
    int scene
)

开启策略。SDK 支持预加载和预渲染策略。

传入参数

参数名类型说明
typeint策略类型:
  • STRATEGY_TYPE_PRELOAD: 预加载策略。
  • STRATEGY_TYPE_PRE_RENDER: 预渲染策略。
sceneint使用场景。SDK 策略搭配场景使用,可达到不同场景最佳实践。
  • STRATEGY_SCENE_SMALL_VIDEO: 短视频场景,类似抖音的推荐页。
  • STRATEGY_SCENE_SHORT_VIDEO: 中视频场景,类似西瓜的推荐页。

注意

  • 建议在进入页面后开启策略。
  • 关于预加载和预渲染策略的具体使用方法,详见 Android 短视频场景。

setEngineStrategyListener

public static void com.ss.ttvideoengine.TTVideoEngine.setEngineStrategyListener(EngineStrategyListener listener)

设置策略相关回调。

传入参数

参数名类型说明
listenerEngineStrategyListener策略相关回调,详见 EngineStrategyListener。

getPreRenderEngine

public static TTVideoEngine com.ss.ttvideoengine.TTVideoEngine.getPreRenderEngine(StrategySource source)

通过 StrategySource 获取预渲染完成的 TTVideoEngine 对象。

传入参数

参数名类型说明
sourceStrategySource播放源。

返回值

预渲染完成的 TTVideoEngine 对象。

getPreRenderEngine

public static TTVideoEngine com.ss.ttvideoengine.TTVideoEngine.getPreRenderEngine(String vid)

通过 vid 获取预渲染完成的 TTVideoEngine 对象。

传入参数

参数名类型说明
vidString视频 ID。

返回值

预渲染完成的 TTVideoEngine 对象。

clearAllStrategy

public static void com.ss.ttvideoengine.TTVideoEngine.clearAllStrategy()

清除所有策略,释放资源。

注意

在退出当前页面或切换到其他页面时调用此方法。

addTask

public static void com.ss.ttvideoengine.TTVideoEngine.addTask(PreloaderVidItem vidItem)

添加 Vid 播放源预加载任务。

传入参数

参数名类型说明
vidItemPreloaderVidItemVid 播放源预加载任务,详见 PreloaderVidItem。

addTask

public static void com.ss.ttvideoengine.TTVideoEngine.addTask(PreloaderURLItem urlItem)

添加 DirectUrl 播放源预加载任务。

传入参数

参数名类型说明
urlItemPreloaderURLItemDirectUrl 播放源预加载任务,详见 PreloaderURLItem。

addTask

public static void com.ss.ttvideoengine.TTVideoEngine.addTask(PreloaderVidSubtitleItem vidSubtitleItem)

添加 Vid 播放源字幕预加载任务。

传入参数

参数名类型说明
vidSubtitleItemPreloaderVidSubtitleItemVid 播放源字幕预加载任务。

cancelPreloadTask

public static void com.ss.ttvideoengine.TTVideoEngine.cancelPreloadTask(String key)

根据缓存 key 取消预加载任务。

传入参数

参数名类型说明
keyString缓存 key,即 DirectUrl 播放源预加载任务的唯一标识。

cancelPreloadTaskByVideoId

public static void com.ss.ttvideoengine.TTVideoEngine.cancelPreloadTaskByVideoId(String vid)

根据视频 ID 取消预加载任务。

传入参数

参数名类型说明
vidString视频 ID。

cancelAllPreloadTasks

public static void com.ss.ttvideoengine.TTVideoEngine.cancelAllPreloadTasks()

取消所有预加载任务。

removeCacheFile

public static void com.ss.ttvideoengine.TTVideoEngine.removeCacheFile(String key)

根据缓存 key 移除缓存文件。

传入参数

参数名类型说明
keyString缓存 key。

注意

如果缓存文件被引用,可能移除失败。

removeCacheFile

public static void com.ss.ttvideoengine.TTVideoEngine.removeCacheFile(String key, DataLoaderHelper.CacheFileType cacheFileType)

根据缓存 key 和 缓存文件类型删除数据加载模块的缓存数据。

传入参数

参数名类型说明
keyString缓存 key。

cacheFileType

Enum

缓存文件类型:

  • Cache:仅删除在线播放时产生的缓存文件。

  • Download:仅删除离线下载的完整视频文件。

注意
如果缓存文件被引用,可能移除失败。

forceRemoveCacheFile

public static void com.ss.ttvideoengine.TTVideoEngine.forceRemoveCacheFile(String key)

根据缓存 key 强制移除缓存文件。

传入参数

参数名类型说明
keyString缓存 key。

getCacheInfo

public static DataLoaderHelper.DataLoaderCacheInfo com.ss.ttvideoengine.TTVideoEngine.getCacheInfo(String key)

获取本地缓存的视频信息。

传入参数

参数名类型说明
keyString缓存 key。

返回值

视频信息。

quickGetCacheFileSize

public static long com.ss.ttvideoengine.TTVideoEngine.quickGetCacheFileSize(String key)

获取本地缓存文件大小。

传入参数

参数名类型说明
keyString缓存 key。

返回值

本地缓存文件大小。

clearAllCaches

public static void com.ss.ttvideoengine.TTVideoEngine.clearAllCaches()

删除所有数据加载模块的缓存数据。

注意

此方法不全部删除所有缓存数据,而是会按照 Least Recently Used (LRU) 算法保留最近播放的 10 条左右数据,从而优化实际播放体验。

clearAllCaches

public static void com.ss.ttvideoengine.TTVideoEngine.clearAllCaches(boolean force)

删除所有数据加载模块的缓存数据。

传入参数

参数名类型说明
forceboolean是否强制删除所有数据加载模块缓存数据。
  • true: 强制删除所有缓存数据。
  • false: 同调用 clearAllCaches 方法一致,不全部删除所有缓存数据,而是会按照 Least Recently Used (LRU) 算法保留最近播放的 10 条左右数据,从而优化实际播放体验。

findDefaultResolution

public static Resolution com.ss.ttvideoengine.TTVideoEngine.findDefaultResolution(
    VideoModel model,
    Resolution defaultResolution
)

获取指定清晰度。

传入参数

参数名类型说明
modelVideoModelVideoModel 播放源。
defaultResolutionResolution清晰度。通常设置为应用的默认清晰度。

返回值

  • 如果 VideoModel 中存在 defaultResolution,则返回 defaultResolution。

  • 如果 VideoModel 中不存在 defaultResolution,则返回与 defaultResolution 最接近的清晰度。

removeCacheFile

public static void com.ss.ttvideoengine.TTVideoEngine.removeCacheFile(IVideoModel model)

移除本地的缓存文件。

传入参数

参数名类型说明
modelIVideoModelVideoModel 播放源。

encryptTimestamp

public static String com.ss.ttvideoengine.TTVideoEngine.encryptTimestamp(
    Context context,
    long timestamp
)

私有 DRM 加密视频的本地时间戳。

传入参数

参数名类型说明
contextContextAndroid Application Context
timestamplong需要加密的时间戳。

返回值

加密后的时间戳。

注意

该时间戳跟当前设备绑定。

isDeviceSupportHevcHDR

public static boolean com.ss.ttvideoengine.TTVideoEngine.isDeviceSupportHevcHDR(Context context)

设备是否支持Hevc和HDR

传入参数

参数名类型说明
contextContext应用程序上下文

返回值

返回是否支持Hevc和HDR

  • true: 支持。

  • false: 不支持。

setRadioMode

public void com.ss.ttvideoengine.TTVideoEngine.setRadioMode(boolean on)

设置是否开启纯音频播放模式。

传入参数

参数名类型说明
onboolean是否开启纯音频播放模式:
  • true: 开启。
  • false:(默认)关闭。

setUseEngineDisplayMode

public void com.ss.ttvideoengine.TTVideoEngine.setUseEngineDisplayMode(boolean useEngineDisplayMode)

设置是否开启显示模式。

传入参数

参数名类型说明
useEngineDisplayModeboolean是否开启显示模式:
  • true: 开启。
  • false:(默认)关闭。

setDisplayMode

public void com.ss.ttvideoengine.TTVideoEngine.setDisplayMode(
    View disPlayView,
    int disPlayMode
)

设置视频填充模式。

传入参数

参数名类型说明
disPlayViewView显示画面的 TextureView 或 SurfaceView。
disPlayModeint视频填充模式。
  • TTVideoEngineInterface.IMAGE_LAYOUT_ASPECT_FIT: 无变形;等比例缩放;画面不被裁剪;可能有黑边。
  • TTVideoEngineInterface.IMAGE_LAYOUT_TO_FILL: 可能会变形;画面宽高都充满控件;画面不被裁剪;无黑边。
  • TTVideoEngineInterface.IMAGE_LAYOUT_ASPECT_FILL: 无变形;等比例缩放;画面可能被裁剪;无黑边。
  • TTVideoEngineInterface.IMAGE_LAYOUT_ASPECT_FILL_X: 无变形;画面宽充满控件,高按视频比例适配;画面可能被裁剪;可能有黑边。开启 Texture Render 时不生效。
  • TTVideoEngineInterface.IMAGE_LAYOUT_ASPECT_FILL_Y: 无变形;画面高充满控件,宽按视频比例适配;画面可能被裁剪;可能有黑边。开启 Texture Render 时不生效。

saveFrame

public Bitmap com.ss.ttvideoengine.TTVideoEngine.saveFrame()

获取当前视频帧数据。

返回值

当前视频帧数据。

snapshot

public void com.ss.ttvideoengine.TTVideoEngine.snapshot(SnapshotListener snapshotListener)

截图。

传入参数

参数名类型说明
snapshotListenerSnapshotListener截图相关回调,详见 SnapshotListener。

clearSurface

public boolean com.ss.ttvideoengine.TTVideoEngine.clearSurface(
    Surface surface,
    boolean async
)

清理 Surface 上的内容。

传入参数

参数名类型说明
surfaceSurface需要清理的 Surface。
asyncboolean是否异步执行。

返回值

清理结果。如果是异步执行,则不会返回 false。

openTextureSR

public void com.ss.ttvideoengine.TTVideoEngine.openTextureSR(
    boolean useSRTexture,
    boolean open
)

开启/关闭超分。

传入参数

参数名类型说明
useSRTextureboolean是否使用带超分的 Texture Render。
openboolean是否开启超分:
  • true: 开启超分。
  • false: 关闭超分。

setBarrageMaskUrlUseDataLoader

public void com.ss.ttvideoengine.TTVideoEngine.setBarrageMaskUrlUseDataLoader(
    String barrageMaskUrl,
    String key
)

设置蒙版弹幕 URL。

传入参数

参数名类型说明
barrageMaskUrlString蒙版弹幕 URL。
keyString缓存 key。

asyncInitSR

public void com.ss.ttvideoengine.TTVideoEngine.asyncInitSR(boolean asyncInit)

设置是否异步初始化超分。

传入参数

参数名类型说明
asyncInitboolean异步初始化超分:
  • true: 异步初始化超分。设置 true 后,只有开启超分时 SDK 才会开启 Texture Render。
  • false: 非异步初始化超分。

dynamicControlSR

public void com.ss.ttvideoengine.TTVideoEngine.dynamicControlSR(boolean dynamicControl)

设置播放过程中是否可动态开启或关闭超分。

传入参数

参数名类型说明
dynamicControlboolean是否播放过程中可动态开启或关闭超分:
  • true: 播放过程中可动态开启或关闭超分。
  • false: 播放过程中不可动态开启或关闭超分。

setSRInitConfig

public void com.ss.ttvideoengine.TTVideoEngine.setSRInitConfig(
    int algType,
    String strKernelBinPath,
    String strOclModuleName,
    String strDspModuleName,
    int backend,
    int scaleType,
    int poolSize
)

设置超分参数。

传入参数

参数名类型说明
algTypeint超分算法类型,设为 5。
strKernelBinPathString核心库的本地路径。
strOclModuleNameString设为 SR。
strDspModuleNameString设为 SR。
backendint设为 0。
scaleTypeint设为 0,代表 2 倍超分。
poolSizeint设为 0。

isplaybackUsedSR

public boolean com.ss.ttvideoengine.TTVideoEngine.isplaybackUsedSR()

获取当次播放是否开启超分。

返回值

当次播放是否开启超分。

ignoreSRResolutionLimit

public void com.ss.ttvideoengine.TTVideoEngine.ignoreSRResolutionLimit(boolean ignore)

是否忽略超分对分辨率限制。

传入参数

参数名类型说明
ignoreboolean是否忽略:
  • true: (推荐)忽略。
  • false: 超分会受到分辨率限制。

setMaskInfoListener

public void com.ss.ttvideoengine.TTVideoEngine.setMaskInfoListener(MaskInfoListener listener)

设置蒙版弹幕信息回调。

传入参数

参数名类型说明
listenerMaskInfoListener蒙版弹幕信息回调,详见 MaskInfoListener。

setSubInfoListener

public void com.ss.ttvideoengine.TTVideoEngine.setSubInfoListener(SubInfoListener listener)

设置字幕信息回调。

传入参数

参数名类型说明
listenerSubInfoListener字幕信息回调对象,详见 SubInfoListener。

setSubInfoCallBack

public void com.ss.ttvideoengine.TTVideoEngine.setSubInfoCallBack(SubInfoSimpleCallBack callback)

设置字幕回调。

传入参数

参数名类型说明
callbackSubInfoSimpleCallBack字幕回调对象,详见 SubInfoSimpleCallBack。

setSubDesInfoModel

public void com.ss.ttvideoengine.TTVideoEngine.setSubDesInfoModel(SubDesInfoModelProvider subDesInfoModel)

设置字幕源,包括多种语言字幕信息。

传入参数

参数名类型说明
subDesInfoModelSubDesInfoModelProvider字幕源对象,详见 SubDesInfoModelProvider。

setAdditionSubModel

public void com.ss.ttvideoengine.TTVideoEngine.setAdditionSubModel(SubModelProvider subModel)

添加不同语言字幕源。

传入参数

参数名类型说明
subModelSubModelProvider单个语言字幕源对象。

isSupportHDR

public boolean com.ss.ttvideoengine.TTVideoEngine.isSupportHDR()

判断当前设备是否支持 HDR 播放。

返回值

是否支持 HDR:

  • true: 支持。

  • false: 不支持。

isSupportSR

public boolean com.ss.ttvideoengine.TTVideoEngine.isSupportSR()

判断当前设备是否支持超分。

返回值

是否支持超分:

  • true: 支持。

  • false: 不支持。

setSurface

public void com.ss.ttvideoengine.TTVideoEngine.setSurface(Surface surface)

设置 Surface 对象。

传入参数

参数名类型说明
surfaceSurfaceSurface 对象。

getSurface

public Surface com.ss.ttvideoengine.TTVideoEngine.getSurface()

获取 Surface 对象。

返回值

Surface 对象。

setRotation

public void com.ss.ttvideoengine.TTVideoEngine.setRotation(int rotation)

设置视频旋转角度。

传入参数

参数名类型说明
rotationint视频旋转角度。仅支持设为 0、90、180、270,其他值无效。设置后,视频会顺时针旋转。

注意

调用此方法前需开启 Texture Render。

getRotation

public int com.ss.ttvideoengine.TTVideoEngine.getRotation()

获取视频旋转角度。

返回值

视频旋转角度。

注意

调用此方法前需开启 Texture Render。

setMirrorHorizontal

public void com.ss.ttvideoengine.TTVideoEngine.setMirrorHorizontal(boolean isMirror)

设置水平镜像。

传入参数

参数名类型说明
isMirrorboolean是否水平镜像。
  • true: 设置水平镜像。
  • false: 不设置水平镜像。

注意

调用此方法前需开启 Texture Render。

getMirrorHorizontal

public boolean com.ss.ttvideoengine.TTVideoEngine.getMirrorHorizontal()

获取是否设置水平镜像。

返回值

是否设置水平镜像。

注意

调用此方法前需开启 Texture Render。

setMirrorVertical

public void com.ss.ttvideoengine.TTVideoEngine.setMirrorVertical(boolean isMirror)

设置垂直镜像。

传入参数

参数名类型说明
isMirrorboolean是否垂直镜像。
  • true: 设置垂直镜像。
  • false: 不设置垂直镜像。

注意

调用此方法前需开启 Texture Render。

getMirrorVertical

public boolean com.ss.ttvideoengine.TTVideoEngine.getMirrorVertical()

获取是否设置垂直镜像。

返回值

是否设置垂直镜像。

注意

调用此方法前需开启 Texture Render。

setSurfaceHolder

public void com.ss.ttvideoengine.TTVideoEngine.setSurfaceHolder(SurfaceHolder surfaceHolder)

设置 SurfaceHolder 对象。

传入参数

参数名类型说明
surfaceHolderSurfaceHolderSurfaceHolder 对象。

setSurfaceHolderSync

public void com.ss.ttvideoengine.TTVideoEngine.setSurfaceHolderSync(SurfaceHolder surfaceHolder)

在 engine looper 模式下同步设置 SurfaceHolder 对象。

传入参数

参数名类型说明
surfaceHolderSurfaceHolderSurfaceHolder 对象。

setCustomHeader

public void com.ss.ttvideoengine.TTVideoEngine.setCustomHeader(
    String key,
    String value
)

设置自定义 header。

传入参数

参数名类型说明
keyStringKey
valueStringValue

注意

您可以通过此方法更改 UA,示例:engine.setCustomHeader("User-Agent", " ByteVod(Playback)");。

setVolume

public void com.ss.ttvideoengine.TTVideoEngine.setVolume(
    float left,
    float right
)

设置系统左右声道音量。

传入参数

参数名类型说明
leftfloat左声道音量。取值范围为 [0,maxVolume]。
rightfloat右声道音量。取值范围为 [0,maxVolume]。

注意

你可以调用 getMaxVolume 获取系统最大音量。

getMaxVolume

public float com.ss.ttvideoengine.TTVideoEngine.getMaxVolume()

获取系统最大音量。

返回值

系统最大音量。

getVolume

public float com.ss.ttvideoengine.TTVideoEngine.getVolume()

获取当前音量。

返回值

当前音量。

setIsMute

public void com.ss.ttvideoengine.TTVideoEngine.setIsMute(boolean isMute)

设置是否静音。

传入参数

参数名类型说明
isMuteboolean是否静音:
  • true: 静音。
  • false:(默认)没有静音。

isMute

public boolean com.ss.ttvideoengine.TTVideoEngine.isMute()

判断是否静音。

返回值

是否静音:

  • true: 静音。
  • false: 没有静音。

setStartTime

public void com.ss.ttvideoengine.TTVideoEngine.setStartTime(int msec)

设置起始播放时间。

传入参数

参数名类型说明
msecint起始播放时间,单位毫秒。

getStartTime

public int com.ss.ttvideoengine.TTVideoEngine.getStartTime()

获取起始播放时间。

setVideoEngineCallback

public void com.ss.ttvideoengine.TTVideoEngine.setVideoEngineCallback(VideoEngineCallback videoEngineCallback)

设置播放回调。

传入参数

参数名类型说明
videoEngineCallbackVideoEngineCallback播放回调对象,详见 VideoEngineCallback。

addVideoEngineCallback

public void com.ss.ttvideoengine.TTVideoEngine.addVideoEngineCallback(VideoEngineCallback videoEngineCallback)

添加播放回调。

传入参数

参数名类型说明
videoEngineCallbackVideoEngineCallback播放回调对象,详见 VideoEngineCallback。

removeVideoEngineCallback

public void com.ss.ttvideoengine.TTVideoEngine.removeVideoEngineCallback(VideoEngineCallback videoEngineCallback)

移除播放回调。

传入参数

参数名类型说明
videoEngineCallbackVideoEngineCallback播放回调对象,详见 VideoEngineCallback。

setVideoInfoListener

public void com.ss.ttvideoengine.TTVideoEngine.setVideoInfoListener(VideoInfoListener listener)

设置视频信息回调。

传入参数

参数名类型说明
listenerVideoInfoListener视频信息回调对象,详见 VideoInfoListener。

setVideoEngineInfoListener

public void com.ss.ttvideoengine.TTVideoEngine.setVideoEngineInfoListener(VideoEngineInfoListener listener)

设置播放器通用监听回调。

传入参数

参数名类型说明
listenerVideoEngineInfoListener播放器通用监听回调对象,详见 VideoEngineInfoListener。

setDecryptionKey

public void com.ss.ttvideoengine.TTVideoEngine.setDecryptionKey(String decryptionKey)

设置 DRM 解密 key。

传入参数

参数名类型说明
decryptionKeyString解密 key。

isPrepared

public boolean com.ss.ttvideoengine.TTVideoEngine.isPrepared()

判断当前播放器是否处于 prepared 状态。

返回值

当前播放器是否处于 prepared 状态,即解码器是否准备完成。

isReleased

public boolean com.ss.ttvideoengine.TTVideoEngine.isReleased()

判断当前播放器是否已释放。

返回值

当前播放器是否已释放。

getStrategySource

public StrategySource com.ss.ttvideoengine.TTVideoEngine.getStrategySource()

获取当前播放源。

返回值

当前播放源。

setStrategySource

public void com.ss.ttvideoengine.TTVideoEngine.setStrategySource(StrategySource strategySource)

设置播放源。

传入参数

参数名类型说明
strategySourceStrategySource播放源。

setSource

public void com.ss.ttvideoengine.TTVideoEngine.setSource(Source source)

设置播放源。

传入参数

参数名类型说明
sourceSource播放源。

setTag

public void com.ss.ttvideoengine.TTVideoEngine.setTag(String tag)

设置业务类型。

传入参数

参数名类型说明
tagString业务类型,用于区分同一应用(appid)内不同类型的音视频。您可以根据业务需要按视频场景、视频时长等划分,比如沉浸式 feed 流、短视频视频、长视频等。

setSubTag

public void com.ss.ttvideoengine.TTVideoEngine.setSubTag(String subTag)

设置自定义标签。

传入参数

参数名类型说明
subTagString自定义标签,用于区分同一业务类型下的不同细分,比如音视频是否加密。

getCurrentPlayUrl

public String com.ss.ttvideoengine.TTVideoEngine.getCurrentPlayUrl()

获取当前播放视频的URL

setSubAuthToken

public void com.ss.ttvideoengine.TTVideoEngine.setSubAuthToken(String authToken)

设置字幕 token。

传入参数

参数名类型说明
authTokenString字幕 token。

supportedSubInfoList

public List<com.ss.ttvideoengine.model.SubInfo> com.ss.ttvideoengine.TTVideoEngine.supportedSubInfoList()

获取所有支持字幕源对象列表。

返回值

所有支持字幕源对象列表。

supportedResolutionTypes

public Resolution[] com.ss.ttvideoengine.TTVideoEngine.supportedResolutionTypes()

获取所有支持的清晰度列表。

返回值

清晰度数组。

configResolution

public void com.ss.ttvideoengine.TTVideoEngine.configResolution(Resolution resolution)

切换指定的清晰度。

传入参数

参数名类型说明
resolutionResolution清晰度。

getCurrentResolution

public Resolution com.ss.ttvideoengine.TTVideoEngine.getCurrentResolution()

获取当前清晰度。

返回值

当前清晰度。

prepare

public void com.ss.ttvideoengine.TTVideoEngine.prepare()

准备播放。

注意

该方法适用于预渲染策略。您设置播放源后,需要调用此方法,SDK 会渲染视频首帧,但不会马上播放。SDK 完成渲染视频首帧后,会触发 onReadyForDisplay 回调。

play

public void com.ss.ttvideoengine.TTVideoEngine.play()

开始播放。

pause

public void com.ss.ttvideoengine.TTVideoEngine.pause()

暂停播放。

stop

public void com.ss.ttvideoengine.TTVideoEngine.stop()

停止播放。

releaseAsync

public synchronized void com.ss.ttvideoengine.TTVideoEngine.releaseAsync()

异步释放播放器。

setLooping

public void com.ss.ttvideoengine.TTVideoEngine.setLooping(boolean looping)

设置是否开启循环播放。

传入参数

参数名类型说明
loopingboolean是否开启循环播放。

isLooping

public boolean com.ss.ttvideoengine.TTVideoEngine.isLooping()

获取是否开启循环播放。

返回值

是否开启循环播放。

getDuration

public int com.ss.ttvideoengine.TTVideoEngine.getDuration()

获取视频总时长。

返回值

视频总时长,单位为毫秒。

getLoadedProgress

public int com.ss.ttvideoengine.TTVideoEngine.getLoadedProgress()

获取视频加载进度。

返回值

视频加载进度。取值范围为 [0,100]。

getPlaybackState

public int com.ss.ttvideoengine.TTVideoEngine.getPlaybackState()

获取当前播放状态。

返回值

当前播放状态:

  • TTVideoEngine.PLAYBACK_STATE_STOPPED: 播放停止。

  • TTVideoEngine.PLAYBACK_STATE_PLAYING: 播放中。

  • TTVideoEngine.PLAYBACK_STATE_PAUSED: 播放暂停。

  • TTVideoEngine.PLAYBACK_STATE_ERROR: 播放出错。

getLoadState

public int com.ss.ttvideoengine.TTVideoEngine.getLoadState()

获取当前播放器加载状态。

返回值

当前播放器加载状态:

  • TTVideoEngine.LOAD_STATE_UNKNOWN: 初始状态。
  • TTVideoEngine.LOAD_STATE_PLAYABLE: 加载完成,开始播放。
  • TTVideoEngine.LOAD_STATE_STALLED: 加载中,出现卡顿。
  • TTVideoEngine.LOAD_STATE_ERROR: 加载出错。

isStarted

public boolean com.ss.ttvideoengine.TTVideoEngine.isStarted()

判断播放器是否开始播放。

返回值

播放器是否开始播放。

注意

  • 调用 play 后,isStarted 即为 true。
  • 播放完成、播放出错以及重新设置播放源后,isStarted 即为 false。

getCurrentPlaybackTime

public int com.ss.ttvideoengine.TTVideoEngine.getCurrentPlaybackTime()

获取当前播放位置。

返回值

当前播放位置,单位为毫秒。

getCurrentPlaybackTimeAsync

public int com.ss.ttvideoengine.TTVideoEngine.getCurrentPlaybackTimeAsync()

获取当前播放位置(非精准)。

返回值

当前播放进度,单位为毫秒。

注意

getVideoWidth

public int com.ss.ttvideoengine.TTVideoEngine.getVideoWidth()

获取视频宽。

返回值

视频宽。

getVideoHeight

public int com.ss.ttvideoengine.TTVideoEngine.getVideoHeight()

获取视频高。

返回值

视频高。

getWatchedDuration

public int com.ss.ttvideoengine.TTVideoEngine.getWatchedDuration()

获取累计播放时长。

返回值

累计播放时长,单位为毫秒。

注意

假设您当前正在观看一段视频,首先观看到第 10 秒,然后回退至第 5 秒,随后再次观看到第 10 秒。此时,累计播放时长为 15 秒。

seekTo

public void com.ss.ttvideoengine.TTVideoEngine.seekTo(
    int msec,
    SeekCompletionListener listener
)

跳转至指定位置播放。

传入参数

参数名类型说明
msecint指定播放位置,单位为毫秒。
listenerSeekCompletionListenerSeek 完成回调,详见 SeekCompletionListener。

getVideoFormatInfo

public VideoFormatInfo com.ss.ttvideoengine.TTVideoEngine.getVideoFormatInfo()

获取当前播放视频的视频信息。

返回值

当前播放视频的视频信息,详见 VideoFormatInfo。

setFFmpegProtocolObject

public void com.ss.ttvideoengine.TTVideoEngine.setFFmpegProtocolObject(TTVideoEngineFFmpegProtocol obj)

设置您自行实现的 TTVideoEngineFFmpegProtocol 协议对象,用于支持私有 FFmpeg 加密协议。

传入参数

参数名类型说明
objTTVideoEngineFFmpegProtocol您自行实现的 TTVideoEngineFFmpegProtocol 协议的对象。

getTag

public String com.ss.ttvideoengine.TTVideoEngine.getTag()

获取业务类型 tag。

返回值

业务类型 tag。

getSubTag

public String com.ss.ttvideoengine.TTVideoEngine.getSubTag()

获取自定义标签 subTag。

返回值

自定义标签 subTag。

toString

public String com.ss.ttvideoengine.TTVideoEngine.toString()

Downloader
public class com.ss.ttvideoengine.download.Downloader

下载任务管理器。

静态函数

返回名称
static DownloadergetInstance

成员函数

返回名称
voidloadAllTasks
DownloadURLTaskurlTask
DownloadVidTaskvidTask
voidsetListener
IDownloaderListenergetListener
voidsetMaxDownloadOperationCount
longgetMaxDownloadOperationCount
voidsetLimitFreeDiskSize
longgetLimitFreeDiskSize
voidresumeAllTasks
voidsuspendAllTasks
voidinvalidateAndCancelAllTasks

函数说明

getInstance

public static Downloader com.ss.ttvideoengine.download.Downloader.getInstance()

获取下载任务管理器实例。

返回值

Downloader 实例。

loadAllTasks

public void com.ss.ttvideoengine.download.Downloader.loadAllTasks(Context context)

获取所有下载任务,包括已完成和未完成。

传入参数

参数名类型说明
contextContextAndroid Application Context

注意

  • 用户退出后重新进入 App 时,您可调用此接口获取已下载完成和未完成的下载任务列表。

  • 在 SDK 初始化后调用此方法。此方法执行完成后,SDK 会触发 downloaderDidLoadAllTask 回调。

urlTask

public DownloadURLTask com.ss.ttvideoengine.download.Downloader.urlTask(
    String[] urls,
    String key,
    @Nullable String videoId
)

创建 DirectUrl 播放源下载任务。

传入参数

参数名类型说明
urlsString[]DirectUrl 播放源下载任务,支持主备 URL。
keyStringDirectUrl 播放源下载任务唯一标识 cache key。
videoId@Nullable String视频 ID。

返回值

DownloadURLTask 实例。

vidTask

public DownloadVidTask com.ss.ttvideoengine.download.Downloader.vidTask(
    String videoId,
    Resolution resolution,
    String authToken
)

创建 Vid 播放源下载任务。

传入参数

参数名类型说明
videoIdString视频 ID。
resolutionResolution视频分辨率。
authTokenString视频播放 token。

返回值

DownloadVidTask 实例。

setListener

public void com.ss.ttvideoengine.download.Downloader.setListener(IDownloaderListener listener)

设置下载回调。

传入参数

参数名类型说明
listenerIDownloaderListener下载回调对象,详见 IDownloaderListener。

getListener

public IDownloaderListener com.ss.ttvideoengine.download.Downloader.getListener()

获取下载回调。

返回值

下载回调对象,详见 IDownloaderListener。

setMaxDownloadOperationCount

public void com.ss.ttvideoengine.download.Downloader.setMaxDownloadOperationCount(long maxDownloadOperationCount)

设置下载任务最大并发数。

传入参数

参数名类型说明
maxDownloadOperationCountlong下载任务最大并发数。默认值为 1。

getMaxDownloadOperationCount

public long com.ss.ttvideoengine.download.Downloader.getMaxDownloadOperationCount()

获取下载任务最大并发数。

返回值

下载任务最大并发数。

setLimitFreeDiskSize

public void com.ss.ttvideoengine.download.Downloader.setLimitFreeDiskSize(long limitFreeDiskSize)

设置磁盘缓存剩余空间限制。

传入参数

参数名类型说明
limitFreeDiskSizelong磁盘缓存剩余空间限制。单位为 bytes,默认值为 1024 * 1024 * 1024 * 1,表示 1 GB。如果剩余磁盘大小不足 1G,则返回 ERROR_CODE_DOWNLOAD_DISK_FULL 错误。

getLimitFreeDiskSize

public long com.ss.ttvideoengine.download.Downloader.getLimitFreeDiskSize()

获取磁盘缓存剩余空间限制。

返回值

磁盘缓存剩余空间限制。

resumeAllTasks

public void com.ss.ttvideoengine.download.Downloader.resumeAllTasks()

开始/恢复所有下载任务。

suspendAllTasks

public void com.ss.ttvideoengine.download.Downloader.suspendAllTasks()

暂停所有下载任务。

invalidateAndCancelAllTasks

public void com.ss.ttvideoengine.download.Downloader.invalidateAndCancelAllTasks()

删除所有下载任务。

DownloadTask
public class com.ss.ttvideoengine.download.DownloadTask

下载任务。

成员函数

返回名称
MediaTypegetMediaType
StringgetAvailableLocalFilePath
longgetBytesExpectedToReceive
longgetBytesReceived
intgetState
StringgetVideoId
voidinvalidateAndCancel
voidsuspend
voidresume

函数说明

getMediaType

public MediaType com.ss.ttvideoengine.download.DownloadTask.getMediaType()

获取媒资类型。

返回值

媒资类型。

注意

如果媒资类型为 M3U8,则进度值为百分比,而不是实际接收的大小或介质大小。

getAvailableLocalFilePath

public String com.ss.ttvideoengine.download.DownloadTask.getAvailableLocalFilePath()

获取可用本地文件路径。

返回值

可用本地文件路径。

getBytesExpectedToReceive

public long com.ss.ttvideoengine.download.DownloadTask.getBytesExpectedToReceive()

获取预期接收的字节数量。

返回值

预期接收的字节数量。

getBytesReceived

public long com.ss.ttvideoengine.download.DownloadTask.getBytesReceived()

获取接收到的字节数。

返回值

接收到的字节数。

getState

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: 完成。

getVideoId

public String com.ss.ttvideoengine.download.DownloadTask.getVideoId()

获取下载任务对应的视频 ID。

返回值

视频 ID。

invalidateAndCancel

public void com.ss.ttvideoengine.download.DownloadTask.invalidateAndCancel()

删除单个下载任务。

suspend

public void com.ss.ttvideoengine.download.DownloadTask.suspend()

暂停单个下载任务。

resume

public void com.ss.ttvideoengine.download.DownloadTask.resume()

开始或恢复单个下载任务。

DownloadURLTask
public class com.ss.ttvideoengine.download.DownloadURLTask

DirectUrl 播放源下载任务。

成员函数

返回名称
StringgetVideoId
voidsuspend
voidresume

函数说明

getVideoId

public String com.ss.ttvideoengine.download.DownloadURLTask.getVideoId()

获取视频 ID。

返回值

视频 ID, 可能为空。

suspend

public void com.ss.ttvideoengine.download.DownloadURLTask.suspend()

暂停下载任务。

resume

public void com.ss.ttvideoengine.download.DownloadURLTask.resume()

恢复下载任务。

DownloadVidTask
public class com.ss.ttvideoengine.download.DownloadVidTask

Vid 播放源下载任务。

成员函数

返回名称
StringgetVideoId
IDownloadVidTaskListenergetFetchListener
VideoModelgetVideoModel
voidsetVideoModel
booleanisBaseDashEnable
booleanish265Enable
ResolutiongetCurrentResolution
voidinvalidateAndCancel
voidsuspend
voidresume
StringgetAvailableLocalFilePath

函数说明

getVideoId

public String com.ss.ttvideoengine.download.DownloadVidTask.getVideoId()

获取视频 ID。

返回值

返回视频 ID。

getFetchListener

public IDownloadVidTaskListener com.ss.ttvideoengine.download.DownloadVidTask.getFetchListener()

获取视频信息回调监听。

返回值

视频信息回调监听。

getVideoModel

public VideoModel com.ss.ttvideoengine.download.DownloadVidTask.getVideoModel()

获取 VideoModel 视频信息。

返回值

VideoModel 视频信息。

setVideoModel

public void com.ss.ttvideoengine.download.DownloadVidTask.setVideoModel(VideoModel videoModel)

设置 VideoModel 视频源。

传入参数

参数名类型说明
videoModelVideoModelVideoModel 下载视频信息。

isBaseDashEnable

public boolean com.ss.ttvideoengine.download.DownloadVidTask.isBaseDashEnable()

判断是否开启 DASH。

返回值

是否开启 DASH。

ish265Enable

public boolean com.ss.ttvideoengine.download.DownloadVidTask.ish265Enable()

判断编码类型为 H.265。

返回值

编码类型为 H.265。

getCurrentResolution

public Resolution com.ss.ttvideoengine.download.DownloadVidTask.getCurrentResolution()

获取当前分辨率。

返回值

当前分辨率。

invalidateAndCancel

public void com.ss.ttvideoengine.download.DownloadVidTask.invalidateAndCancel()

删除 Vid 播放源下载任务。

suspend

public void com.ss.ttvideoengine.download.DownloadVidTask.suspend()

暂停下载任务。

resume

public void com.ss.ttvideoengine.download.DownloadVidTask.resume()

恢复下载任务。

getAvailableLocalFilePath

public String com.ss.ttvideoengine.download.DownloadVidTask.getAvailableLocalFilePath()

获取可用本地文件路径。

返回值

可用本地文件路径。

最近更新时间:2026.08.04 19:14:17
这个页面对您有帮助吗?
有用
有用
无用
无用