public interface com.ss.ttvideoengine.VideoEngineCallback
播放状态相关回调。
| 返回 | 名称 |
|---|---|
| default void | onPlaybackStateChanged |
| default void | onLoadStateChanged |
| default void | onVideoSizeChanged |
| default void | onBufferingUpdate |
| default void | onPrepare |
| default void | onPrepared |
| default void | onRenderStart |
| default void | onReadyForDisplay |
| default void | onCompletion |
| default void | onError |
| default void | onBufferStart |
| default void | onBufferEnd |
| default void | onVideoStreamBitrateChanged |
| default void | onCurrentPlaybackTimeUpdate |
| default void | onPlayUrlChanged |
default void com.ss.ttvideoengine.VideoEngineCallback.onPlaybackStateChanged( TTVideoEngine engine, int playbackState )
播放状态改变回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
| playbackState | int | 当前播放状态:
|
default void com.ss.ttvideoengine.VideoEngineCallback.onLoadStateChanged( TTVideoEngine engine, int loadState )
加载状态改变回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
| loadState | int | 当前加载状态:
|
default void com.ss.ttvideoengine.VideoEngineCallback.onVideoSizeChanged( TTVideoEngine engine, int width, int height )
视频分辨率发生变化回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
| width | int | 当前视频宽度。 |
| height | int | 当前视频高度。 |
default void com.ss.ttvideoengine.VideoEngineCallback.onBufferingUpdate( TTVideoEngine engine, int percent )
视频缓冲进度更新回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
| percent | int | 缓冲进度,取值范围为 [0,100]。 |
default void com.ss.ttvideoengine.VideoEngineCallback.onPrepare(TTVideoEngine engine)
准备播放回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
default void com.ss.ttvideoengine.VideoEngineCallback.onPrepared(TTVideoEngine engine)
准备完成、可以播放回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
default void com.ss.ttvideoengine.VideoEngineCallback.onRenderStart(TTVideoEngine engine)
开始渲染回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
注意
收到此回调时,您可以认为此刻视频画面已经展示。
default void com.ss.ttvideoengine.VideoEngineCallback.onReadyForDisplay(TTVideoEngine engine)
预渲染首帧回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
注意
您调用 prepare 后,SDK 完成渲染视频首帧时,会触发此回调。
default void com.ss.ttvideoengine.VideoEngineCallback.onCompletion(TTVideoEngine engine)
播放完成回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
default void com.ss.ttvideoengine.VideoEngineCallback.onError(Error error)
播放错误回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| error | Error | 播放错误。详见点播 SDK 错误码。 |
default void com.ss.ttvideoengine.VideoEngineCallback.onBufferStart( int reason, int afterFirstFrame, int action )
发生卡顿回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| reason | int | 卡顿发生原因:
|
| afterFirstFrame | int | 卡顿发生时机:
|
| action | int | 造成卡顿的操作:
|
default void com.ss.ttvideoengine.VideoEngineCallback.onBufferEnd(int code)
卡顿结束回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 卡顿原因:
|
default void com.ss.ttvideoengine.VideoEngineCallback.onVideoStreamBitrateChanged( Resolution resolution, int bitrate )
视频码率、清晰度变化回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| resolution | Resolution | 变化后的清晰度。 |
| bitrate | int | 变化后的码率。 |
注意
此回调仅在使用平滑切换功能时触发。
default void com.ss.ttvideoengine.VideoEngineCallback.onCurrentPlaybackTimeUpdate( TTVideoEngine engine, int currentPlaybackTime )
播放位置更新回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
| currentPlaybackTime | int | 当前播放位置,单位为毫秒。 |
注意
调用此方法前,您需要通过 setIntOption(TTVideoEngine.PLAYER_OPTION_POSITION_UPDATE_INTERVAL, 200) 设置此回调的触发间隔。
您可通过该回调更新进度条。
default void com.ss.ttvideoengine.VideoEngineCallback.onPlayUrlChanged( int index, String url, String cacheKey )
有 url 切换,且切换后 http open 成功时回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | int | open 成功的 url 在列表中的索引,不为 0 |
| url | String | open 成功的 url |
| cacheKey | String | 缓存 key |
public interface com.ss.ttvideoengine.download.IDownloaderListener
下载相关回调。
| 返回 | 名称 |
|---|---|
| void | downloaderDidComplete |
| void | downloaderWriteData |
| default void | downloaderProgress |
| void | downloaderDidResume |
| void | downloaderDidLoadAllTask |
| void | downloaderStateChanged |
void com.ss.ttvideoengine.download.IDownloaderListener.downloaderDidComplete( Downloader downloader, DownloadTask task, @Nullable Error error )
下载任务结束回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| downloader | Downloader | 下载任务管理器。 |
| task | DownloadTask | 当前下载任务。 |
| error | @Nullable Error | 错误信息或结束原因。error 为空代表没有发生错误并且此任务已完成。 |
void com.ss.ttvideoengine.download.IDownloaderListener.downloaderWriteData( Downloader downloader, DownloadTask task, long bytesWritten, long timeMS )
下载速度回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| downloader | Downloader | 下载任务管理器。 |
| task | DownloadTask | 当前下载任务。 |
| bytesWritten | long | 在 timeMS 时间间隔内下载的字节数。 |
| timeMS | long | 时间间隔。 |
注意
您可以通过 bytesWritten 和 timeMS 计算该时间间隔内的下载速度。
播放 HLS 视频时,bytesWritten 值可能不准。
default void com.ss.ttvideoengine.download.IDownloaderListener.downloaderProgress( Downloader downloader, DownloadTask task, long receivedSize, long totalSize )
下载任务进度回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| downloader | Downloader | 下载任务管理器。 |
| task | DownloadTask | 当前下载任务。 |
| receivedSize | long | 接收的下载任务大小,单位为字节。 |
| totalSize | long | 下载任务的总大小,单位为字节。 |
注意
下载进度 = receivedSize / totalSize * 100%
DownloadTask 中提供 getMediaType 用来获取下载的媒体类型。如果值是 HLS(M3U8),由于 SDK 无法知道整个 HLS(M3U8) 文件的大小,所以 downloaderProgress 回调中的 receivedSize 和 totalSize 并不是文件的字节数。您仅可通过上述公式计算下载进度。
void com.ss.ttvideoengine.download.IDownloaderListener.downloaderDidResume( Downloader downloader, DownloadTask task, long fileOffset, long expectedTotalBytes )
下载任务开始/恢复回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| downloader | Downloader | 下载任务管理器。 |
| task | DownloadTask | 当前下载任务。 |
| fileOffset | long | 文件偏移量。 |
| expectedTotalBytes | long | 预期总字节数。 |
void com.ss.ttvideoengine.download.IDownloaderListener.downloaderDidLoadAllTask( Downloader downloader, @Nullable List<DownloadTask> allTasks, @Nullable Error error )
所有下载任务加载完成回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| downloader | Downloader | 下载任务管理器。 |
| allTasks | @Nullable List<DownloadTask> | 所有下载任务。 |
| error | @Nullable Error | 错误信息或结束原因。 |
void com.ss.ttvideoengine.download.IDownloaderListener.downloaderStateChanged( Downloader downloader, DownloadTask task, int state )
下载任务状态变更回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| downloader | Downloader | 下载任务管理器。 |
| task | DownloadTask | 当前下载任务。 |
| state | int | 当前下载任务状态:
|
public interface com.ss.ttvideoengine.MaskInfoListener
蒙版弹幕信息回调。
| 返回 | 名称 |
|---|---|
| void | onMaskInfoCallback |
void com.ss.ttvideoengine.MaskInfoListener.onMaskInfoCallback( int code, int pts, String info )
获取到单段蒙版弹幕的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 此参数无需关注。 |
| pts | int | 该段弹幕对应的时间戳,单位为毫秒。 |
| info | String | 该段弹幕的内容。 |
public interface com.ss.ttvideoengine.IPreLoaderItemCallBackListener
预加载相关回调。
| 返回 | 名称 |
|---|---|
| void | preloadItemInfo |
void com.ss.ttvideoengine.IPreLoaderItemCallBackListener.preloadItemInfo(PreLoaderItemCallBackInfo info)
获取预加载任务回调的信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| info | PreLoaderItemCallBackInfo | 预加载任务回调的信息,详见 PreLoaderItemCallBackInfo。 |
public interface com.ss.ttvideoengine.VideoEngineInfoListener
播放器通用回调。
| 返回 | 名称 |
|---|---|
| void | onVideoEngineInfos |
void com.ss.ttvideoengine.VideoEngineInfoListener.onVideoEngineInfos(VideoEngineInfos videoEngineInfos)
通用监听回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoEngineInfos | VideoEngineInfos | videoEngine 类相关信息,详见 VideoEngineInfos。 |
注意
您需要关注以下回调:
videoEngineInfos.getKey() == VideoEngineInfos.USING_RENDER_SEEK_COMPLETE: Seek 操作后渲染完成回调。
videoEngineInfos.getKey() == VideoEngineInfos.USING_MDL_HIT_CACHE_SIZE: 预加载命中回调。大于 0 表示命中缓存视频的大小。
public interface com.ss.ttvideoengine.VideoInfoListener
视频信息相关回调。
| 返回 | 名称 |
|---|---|
| boolean | onFetchedVideoInfo |
boolean com.ss.ttvideoengine.VideoInfoListener.onFetchedVideoInfo(VideoModel model)
获取到服务端返回的 VideoModel 回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| model | VideoModel | 服务端 GetPlayInfo 接口返回的 VideoModel。 |
返回值
是否自行处理返回的 VideoModel。您需要返回 false,表示不自行处理。
public interface com.ss.ttvideoengine.SeekCompletionListener
Seek 操作完成回调。
| 返回 | 名称 |
|---|---|
| void | onCompletion |
void com.ss.ttvideoengine.SeekCompletionListener.onCompletion(boolean success)
Seek 操作完成回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| success | boolean | Seek 操作是否完成。 |
public class com.ss.ttvideoengine.SubInfoSimpleCallBack
字幕信息相关回调。
| 返回 | 名称 |
|---|---|
| void | onSubInfoCallback |
| void | onSubSwitchCompleted |
| void | onSubLoadFinished |
public void com.ss.ttvideoengine.SubInfoSimpleCallBack.onSubInfoCallback( int code, String info )
获取到单段字幕信息的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 该段字幕对应的时间戳,单位为毫秒。 |
| info | String | 该段字幕的内容。 |
public void com.ss.ttvideoengine.SubInfoSimpleCallBack.onSubSwitchCompleted( int success, int subId )
字幕语言切换回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| success | int | 字幕语言是否成功切换:
|
| subId | int | 字幕 ID。 |
public void com.ss.ttvideoengine.SubInfoSimpleCallBack.onSubLoadFinished(int success)
字幕文件下载完成回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| success | int | 字幕文件是否下载完成:
|
public interface com.ss.ttvideoengine.strategy.EngineStrategyListener
播放策略相关回调。
| 返回 | 名称 |
|---|---|
| default void | onPreRenderEngineCreated |
default void com.ss.ttvideoengine.strategy.EngineStrategyListener.onPreRenderEngineCreated( TTVideoEngine engine, StrategySource source )
预渲染 engine 对象创建完成回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| engine | TTVideoEngine | TTVideoEngine 对象。 |
| source | StrategySource | 播放源。 |
注意
SDK 内构造 engine 进行预渲染时,会触发此回调。您可在收到此回调后,对 engine 进行配置,例如通过 engine.setIntOption(PLAYER_OPTION_USE_TEXTURE_RENDER, 1) 开启 Texture Render。
public interface com.ss.ttvideoengine.SnapshotListener
截图相关回调。
| 返回 | 名称 |
|---|---|
| void | onSnapShot |
void com.ss.ttvideoengine.SnapshotListener.onSnapShot( Bitmap bitmap, int with, int height )
收到截图回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| bitmap | Bitmap | 截图的图片数据。 |
| with | int | 当前视频宽度。 |
| height | int | 当前视频高度。 |
public interface com.ss.ttvideoengine.DataLoaderListener2
数据加载相关回调。
| 返回 | 名称 |
|---|---|
| void | onNotify |
void com.ss.ttvideoengine.DataLoaderListener2.onNotify( int what, long code, long parameter, String info )
播放数据加载回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| what | int | 事件名称。 |
| code | long | 数据 code。 |
| parameter | long | 数据参数。 |
| info | String | 加载信息。 |
注意
DataLoaderListener2 回调定义更为灵活,不同事件各参数代表含义不同
public interface com.ss.ttvideoengine.SubInfoListener
字幕源信息回调。
| 返回 | 名称 |
|---|---|
| void | onSubPathInfo |
| void | onSubInfoCallback |
void com.ss.ttvideoengine.SubInfoListener.onSubPathInfo( String subPathInfo, Error error )
获取到所有语言字幕信息的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| subPathInfo | String | 所有语言字幕信息。 |
| error | Error | 请求字幕错误信息。error 不为空表示字幕获取失败。 |
void com.ss.ttvideoengine.SubInfoListener.onSubInfoCallback( int code, int pts, String info )
获取到单段字幕信息的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | 此参数无需关注。 |
| pts | int | 该段字幕对应的时间戳,单位为毫秒。 |
| info | String | 该段字幕的内容。 |