You need to enable JavaScript to run this app.
导航

回调

最近更新时间2024.03.26 20:47:50

首次发布时间2023.09.22 14:41:52

VideoEngineCallback
public interface com.ss.ttvideoengine.VideoEngineCallback

播放状态相关回调。

成员函数

返回名称
default voidonPlaybackStateChanged
default voidonLoadStateChanged
default voidonVideoSizeChanged
default voidonBufferingUpdate
default voidonPrepare
default voidonPrepared
default voidonRenderStart
default voidonReadyForDisplay
default voidonCompletion
default voidonError
default voidonBufferStart
default voidonBufferEnd
default voidonVideoStreamBitrateChanged
default voidonCurrentPlaybackTimeUpdate

函数说明

onPlaybackStateChanged

default void com.ss.ttvideoengine.VideoEngineCallback.onPlaybackStateChanged(
    TTVideoEngine engine,
    int playbackState
)

播放状态改变回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。
playbackStateint当前播放状态:
  • PLAYBACK_STATE_STOPPED: 播放停止。
  • PLAYBACK_STATE_PLAYING: 播放中。
  • PLAYBACK_STATE_PAUSED: 播放暂停。
  • PLAYBACK_STATE_ERROR: 播放报错。

onLoadStateChanged

default void com.ss.ttvideoengine.VideoEngineCallback.onLoadStateChanged(
    TTVideoEngine engine,
    int loadState
)

加载状态改变回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。
loadStateint当前加载状态:
  • LOAD_STATE_PLAYABLE: 播放器加载完成,可开始或恢复播放。
  • LOAD_STATE_STALLED: 播放器发生卡顿,正在加载数据。
  • LOAD_STATE_ERROR: 播放器加载数据报错。

onVideoSizeChanged

default void com.ss.ttvideoengine.VideoEngineCallback.onVideoSizeChanged(
    TTVideoEngine engine,
    int width,
    int height
)

视频分辨率发生变化回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。
widthint当前视频宽度。
heightint当前视频高度。

onBufferingUpdate

default void com.ss.ttvideoengine.VideoEngineCallback.onBufferingUpdate(
    TTVideoEngine engine,
    int percent
)

视频缓冲进度更新回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。
percentint缓冲进度,取值范围为 [0,100]。

onPrepare

default void com.ss.ttvideoengine.VideoEngineCallback.onPrepare(TTVideoEngine engine)

准备播放回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。

onPrepared

default void com.ss.ttvideoengine.VideoEngineCallback.onPrepared(TTVideoEngine engine)

准备完成、可以播放回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。

onRenderStart

default void com.ss.ttvideoengine.VideoEngineCallback.onRenderStart(TTVideoEngine engine)

开始渲染回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。

注意

收到此回调时,您可以认为此刻视频画面已经展示。

onReadyForDisplay

default void com.ss.ttvideoengine.VideoEngineCallback.onReadyForDisplay(TTVideoEngine engine)

预渲染首帧回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。

注意

您调用 prepare 后,SDK 完成渲染视频首帧时,会触发此回调。

onCompletion

default void com.ss.ttvideoengine.VideoEngineCallback.onCompletion(TTVideoEngine engine)

播放完成回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。

onError

default void com.ss.ttvideoengine.VideoEngineCallback.onError(Error error)

播放错误回调。

传入参数

参数名类型说明
errorError播放错误。详见点播 SDK 错误码

onBufferStart

default void com.ss.ttvideoengine.VideoEngineCallback.onBufferStart(
    int reason,
    int afterFirstFrame,
    int action
)

发生卡顿回调。

传入参数

参数名类型说明
reasonint卡顿发生原因:
  • BUFFERING_TYPE_NET: 网络卡顿
  • BUFFERING_TYPE_DECODER: 解码卡顿
afterFirstFrameint卡顿发生时机:
  • BEFORE_FIRST_FRAME: 首帧前卡顿
  • AFTER_FIRST_FRAME: 首帧后卡顿
actionint造成卡顿的操作:
  • BUFFER_START_ACTION_NONE: 正常播放过程中卡顿
  • BUFFER_START_ACTION_SEEK: Seek 操作后卡顿
  • BUFFER_START_ACTION_CHANG_RESOLUTION: 切换分辨率后卡顿

onBufferEnd

default void com.ss.ttvideoengine.VideoEngineCallback.onBufferEnd(int code)

卡顿结束回调。

传入参数

参数名类型说明
codeint卡顿原因:
  • BUFFERING_TYPE_NET: 网络卡顿
  • BUFFERING_TYPE_DECODER: 解码卡顿

onVideoStreamBitrateChanged

default void com.ss.ttvideoengine.VideoEngineCallback.onVideoStreamBitrateChanged(
    Resolution resolution,
    int bitrate
)

视频码率、清晰度变化回调。

传入参数

参数名类型说明
resolutionResolution变化后的清晰度。
bitrateint变化后的码率。

注意

此回调仅在使用平滑切换功能时触发。

onCurrentPlaybackTimeUpdate

default void com.ss.ttvideoengine.VideoEngineCallback.onCurrentPlaybackTimeUpdate(
    TTVideoEngine engine,
    int currentPlaybackTime
)

播放位置更新回调。

传入参数

参数名类型说明
engineTTVideoEngineTTVideoEngine 对象。
currentPlaybackTimeint当前播放位置,单位为毫秒。

注意

  • 调用此方法前,您需要通过 setIntOption(TTVideoEngine.PLAYER_OPTION_POSITION_UPDATE_INTERVAL, 200) 设置此回调的触发间隔。
  • 您可通过该回调更新进度条。

IDownloaderListener
public interface com.ss.ttvideoengine.download.IDownloaderListener

下载相关回调。

成员函数

返回名称
voiddownloaderDidComplete
voiddownloaderWriteData
default voiddownloaderProgress
voiddownloaderDidResume
voiddownloaderDidLoadAllTask
voiddownloaderStateChanged

函数说明

downloaderDidComplete

void com.ss.ttvideoengine.download.IDownloaderListener.downloaderDidComplete(
    Downloader downloader,
    DownloadTask task,
    @Nullable Error error
)

下载任务结束回调。

传入参数

参数名类型说明
downloaderDownloader下载任务管理器。
taskDownloadTask当前下载任务。
error@Nullable Error错误信息或结束原因。error 为空代表没有发生错误并且此任务已完成。

downloaderWriteData

void com.ss.ttvideoengine.download.IDownloaderListener.downloaderWriteData(
    Downloader downloader,
    DownloadTask task,
    long bytesWritten,
    long timeMS
)

下载速度回调。

传入参数

参数名类型说明
downloaderDownloader下载任务管理器。
taskDownloadTask当前下载任务。
bytesWrittenlongtimeMS 时间间隔内下载的字节数。
timeMSlong时间间隔。

注意

  • 您可以通过 bytesWrittentimeMS 计算该时间间隔内的下载速度。
  • 播放 HLS 视频时,bytesWritten 值可能不准。

downloaderProgress

default void com.ss.ttvideoengine.download.IDownloaderListener.downloaderProgress(
    Downloader downloader,
    DownloadTask task,
    long receivedSize,
    long totalSize
)

下载任务进度回调。

传入参数

参数名类型说明
downloaderDownloader下载任务管理器。
taskDownloadTask当前下载任务。
receivedSizelong接收的下载任务大小,单位为字节。
totalSizelong下载任务的总大小,单位为字节。

注意

  • 下载进度 = receivedSize / totalSize * 100%
  • DownloadTask 中提供 getMediaType 用来获取下载的媒体类型。如果值是 HLS(M3U8),由于 SDK 无法知道整个 HLS(M3U8) 文件的大小,所以 downloaderProgress 回调中的 receivedSizetotalSize 并不是文件的字节数。您仅可通过上述公式计算下载进度。

downloaderDidResume

void com.ss.ttvideoengine.download.IDownloaderListener.downloaderDidResume(
    Downloader downloader,
    DownloadTask task,
    long fileOffset,
    long expectedTotalBytes
)

下载任务开始/恢复回调。

传入参数

参数名类型说明
downloaderDownloader下载任务管理器。
taskDownloadTask当前下载任务。
fileOffsetlong文件偏移量。
expectedTotalByteslong预期总字节数。

downloaderDidLoadAllTask

void com.ss.ttvideoengine.download.IDownloaderListener.downloaderDidLoadAllTask(
    Downloader downloader,
    @Nullable List<DownloadTask> allTasks,
    @Nullable Error error
)

所有下载任务加载完成回调。

传入参数

参数名类型说明
downloaderDownloader下载任务管理器。
allTasks@Nullable List<DownloadTask>所有下载任务。
error@Nullable Error错误信息或结束原因。

downloaderStateChanged

void com.ss.ttvideoengine.download.IDownloaderListener.downloaderStateChanged(
    Downloader downloader,
    DownloadTask task,
    int state
)

下载任务状态变更回调。

传入参数

参数名类型说明
downloaderDownloader下载任务管理器。
taskDownloadTask当前下载任务。
stateint当前下载任务状态:
  • DOWNLOAD_TASK_STATE_INIT: 初始化。
  • DOWNLOAD_TASK_STATE_WAITING: 等待中。
  • DOWNLOAD_TASK_STATE_RUNNING: 运行中。
  • DOWNLOAD_TASK_STATE_SUSPENDED: 暂停。
  • DOWNLOAD_TASK_STATE_CANCELING: 正在取消。
  • DOWNLOAD_TASK_STATE_COMPLETED: 完成。

MaskInfoListener
public interface com.ss.ttvideoengine.MaskInfoListener

蒙版弹幕信息回调。

成员函数

返回名称
voidonMaskInfoCallback

函数说明

onMaskInfoCallback

void com.ss.ttvideoengine.MaskInfoListener.onMaskInfoCallback(
    int code,
    int pts,
    String info
)

获取到单段蒙版弹幕的回调。

传入参数

参数名类型说明
codeint此参数无需关注。
ptsint该段弹幕对应的时间戳,单位为毫秒。
infoString该段弹幕的内容。

IPreLoaderItemCallBackListener
public interface com.ss.ttvideoengine.IPreLoaderItemCallBackListener

预加载相关回调。

成员函数

返回名称
voidpreloadItemInfo

函数说明

preloadItemInfo

void com.ss.ttvideoengine.IPreLoaderItemCallBackListener.preloadItemInfo(PreLoaderItemCallBackInfo info)

获取预加载任务回调的信息。

传入参数

参数名类型说明
infoPreLoaderItemCallBackInfo预加载任务回调的信息,详见 PreLoaderItemCallBackInfo

VideoEngineInfoListener
public interface com.ss.ttvideoengine.VideoEngineInfoListener

播放器通用回调。

成员函数

返回名称
voidonVideoEngineInfos

函数说明

onVideoEngineInfos

void com.ss.ttvideoengine.VideoEngineInfoListener.onVideoEngineInfos(VideoEngineInfos videoEngineInfos)

通用监听回调。

传入参数

参数名类型说明
videoEngineInfosVideoEngineInfosvideoEngine 类相关信息,详见 VideoEngineInfos

注意

您需要关注以下回调:

  • videoEngineInfos.getKey() == VideoEngineInfos.USING_RENDER_SEEK_COMPLETE: Seek 操作后渲染完成回调。
  • videoEngineInfos.getKey() == VideoEngineInfos.USING_MDL_HIT_CACHE_SIZE: 预加载命中回调。大于 0 表示命中缓存视频的大小。

VideoInfoListener
public interface com.ss.ttvideoengine.VideoInfoListener

视频信息相关回调。

成员函数

返回名称
booleanonFetchedVideoInfo

函数说明

onFetchedVideoInfo

boolean com.ss.ttvideoengine.VideoInfoListener.onFetchedVideoInfo(VideoModel model)

获取到服务端返回的 VideoModel 回调。

传入参数

参数名类型说明
modelVideoModel服务端 GetPlayInfo 接口返回的 VideoModel。

返回值

是否自行处理返回的 VideoModel。您需要返回 false,表示不自行处理。

SeekCompletionListener
public interface com.ss.ttvideoengine.SeekCompletionListener

Seek 操作完成回调。

成员函数

返回名称
voidonCompletion

函数说明

onCompletion

void com.ss.ttvideoengine.SeekCompletionListener.onCompletion(boolean success)

Seek 操作完成回调。

传入参数

参数名类型说明
successbooleanSeek 操作是否完成。

SubInfoSimpleCallBack
public class com.ss.ttvideoengine.SubInfoSimpleCallBack

字幕信息相关回调。

成员函数

返回名称
voidonSubInfoCallback
voidonSubSwitchCompleted
voidonSubLoadFinished

函数说明

onSubInfoCallback

public void com.ss.ttvideoengine.SubInfoSimpleCallBack.onSubInfoCallback(
    int code,
    String info
)

获取到单段字幕信息的回调。

传入参数

参数名类型说明
codeint该段字幕对应的时间戳,单位为毫秒。
infoString该段字幕的内容。

onSubSwitchCompleted

public void com.ss.ttvideoengine.SubInfoSimpleCallBack.onSubSwitchCompleted(
    int success,
    int subId
)

字幕语言切换回调。

传入参数

参数名类型说明
successint字幕语言是否成功切换:
  • 1: 切换成功。
  • 0: 切换失败。
subIdint字幕 ID。

onSubLoadFinished

public void com.ss.ttvideoengine.SubInfoSimpleCallBack.onSubLoadFinished(int success)

字幕文件下载完成回调。

传入参数

参数名类型说明
successint字幕文件是否下载完成:
  • 1: 下载成功。
  • 0: 加载失败。

EngineStrategyListener
public interface com.ss.ttvideoengine.strategy.EngineStrategyListener

播放策略相关回调。

成员函数

返回名称
default voidonPreRenderEngineCreated

函数说明

onPreRenderEngineCreated

default void com.ss.ttvideoengine.strategy.EngineStrategyListener.onPreRenderEngineCreated(
    TTVideoEngine engine,
    StrategySource source
)

预渲染 engine 对象创建完成回调。

传入参数

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

注意

SDK 内构造 engine 进行预渲染时,会触发此回调。您可在收到此回调后,对 engine 进行配置,例如通过 engine.setIntOption(PLAYER_OPTION_USE_TEXTURE_RENDER, 1) 开启 Texture Render。

SnapshotListener
public interface com.ss.ttvideoengine.SnapshotListener

截图相关回调。

成员函数

返回名称
voidonSnapShot

函数说明

onSnapShot

void com.ss.ttvideoengine.SnapshotListener.onSnapShot(
    Bitmap bitmap,
    int with,
    int height
)

收到截图回调。

传入参数

参数名类型说明
bitmapBitmap截图的图片数据。
withint当前视频宽度。
heightint当前视频高度。

DataLoaderListener2
public interface com.ss.ttvideoengine.DataLoaderListener2

数据加载相关回调。

成员函数

返回名称
voidonNotify

函数说明

onNotify

void com.ss.ttvideoengine.DataLoaderListener2.onNotify(
    int what,
    long code,
    long parameter,
    String info
)

播放数据加载回调。

传入参数

参数名类型说明
whatint事件名称。
codelong数据 code。
parameterlong数据参数。
infoString加载信息。

注意

DataLoaderListener2 回调定义更为灵活,不同事件各参数代表含义不同

SubInfoListener
public interface com.ss.ttvideoengine.SubInfoListener

字幕源信息回调。

成员函数

返回名称
voidonSubPathInfo
voidonSubInfoCallback

函数说明

onSubPathInfo

void com.ss.ttvideoengine.SubInfoListener.onSubPathInfo(
    String subPathInfo,
    Error error
)

获取到所有语言字幕信息的回调。

传入参数

参数名类型说明
subPathInfoString所有语言字幕信息。
errorError请求字幕错误信息。error 不为空表示字幕获取失败。

onSubInfoCallback

void com.ss.ttvideoengine.SubInfoListener.onSubInfoCallback(
    int code,
    int pts,
    String info
)

获取到单段字幕信息的回调。

传入参数

参数名类型说明
codeint此参数无需关注。
ptsint该段字幕对应的时间戳,单位为毫秒。
infoString该段字幕的内容。