logologo
logo
热门活动
HOT
产品
解决方案
客户价值
文档
支持与帮助
售前咨询
点播云
产品简介
购买指南
快速入门
控制台指南
服务端API
SDK文档
播放器SDK
Web端播放器
Android端播放器
iOS端播放器
鸿蒙端播放器
上传SDK
服务端SDK
相关协议
文档中心
SDK文档播放器SDKAndroid端播放器SDK API

SDK API


IKSMediaPlayer

成员方法

prepareAsync

    /**
* 异步准备播放器,prepare完成后会触发setOnPreparedListener的onPrepared回调
*
*/
void prepareAsync();


setSurface

    /**
* 设置渲染目标
*
* @param surface
*/
void setSurface(Surface surface);


isPlaying

    /**
* 检查当前播放器是否处于播放状态
*
* @return true or false
*/
boolean isPlaying();


getCurrentPosition

    /**
* 获取当前播放位置, 单位ms
*
* @return
*/
long getCurrentPosition();


getDuration

    /**
* 获取视频时长, 单位ms
*
* @return
*/
long getDuration();


createVideoThumbnail

    /**
* 获取当前帧截图
* 如果当前surfaceView渲染的hdr视频,请传一个最低码率的url
* SurfaceView截图是耗时操作
*
* @return Bitmap位图
*/
Bitmap createVideoThumbnail(Object renderView, String url);


getDownloadedPercent

    /**
* 获取视频已下载的百分比
*
* @return
*/
int getDownloadedPercent();


getPlayerType

    /**
* 获取播放器类型
*
* @return
* @see KSMediaPlayerConstants
* @see KSMediaPlayerConstants#KS_MEDIA_PLAYER_TYPE_SYSTEM 系统播放器
* @see KSMediaPlayerConstants#KS_MEDIA_PLAYER_TYPE_KWAI kwaiplayer
*/
int getPlayerType();


getCurrentPlayUrl

    /**
* 获取当前播放url
* @return 当前播放url
*/
String getCurrentPlayUrl();


getDebugInfo

    /**
* 获取调试信息
*
* @return
* @see KSMediaPlayerDebugInfo
*/
KSMediaPlayerDebugInfo getDebugInfo();


start

    /**
* 开始播放,在prepared状态后调用
*/
void start() throws Exception;


seekTo

    /**
* 改变视频播放位置到某个时间点
*/
void seekTo(long msec);


isLooping

    /**
* 返回是否开启loop
*
* @return true代表loop,默认false
*/
boolean isLooping();


setVolume

    /**
* 设置播放音量
*
* @param leftVolume 左声道音量(0-1)
* @param rightVolume 右声道音量(0-1)
*/
void setVolume(float leftVolume, float rightVolume);


setVideoContext

    /**
* 设置videoContext
* 上下滑时提前创建播放器进行preload,在下滑时更新更新videoContext.clickTime计算用户首屏
* 业务层需要上报的其他信息,可添加到mExtra字段
*
* @param videoContext
* @see KSMediaPlayerVideoContext
*/
void setVideoContext(KSMediaPlayerVideoContext videoContext);


pause

    /**
* 暂停播放
*/
void pause() throws Exception;


stop

    /**
* 停止播放
*/
void stop() throws Exception;


retryPlayback

    /**
* 重试播放,由于断网或网络切换导致的播放错误可调用该接口重试播放,重试成功后自动从出错位置开始播放
*
* @return true 重试成功,false 重试失败
*/
void retryPlayback();


releaseAsync

    /**
* 异步释放播放器并上报播放埋点
*/
void releaseAsync(OnPlayerReleaseListener listener);


setOnPreparedListener

    /**
* 设置点播播放prepareAsync回调监听
*
* @param listener
*/
void setOnPreparedListener(OnPreparedListener listener);


setOnEventListener

    /**
* 设置点播播放相关事件监听, 回调的第一个what参数的意义可以参考KSMediaPlayerConstants.java里的KS_MEDIA_*变量
*
* @param listener
*/
void setOnEventListener(OnEventListener listener);


setOnErrorListener

    /**
* 设置点播播放错误监听器, 具体的错误码可以参考《错误码查询文章》
*
* @param listener
*/
void setOnErrorListener(OnErrorListener listener);


setVideoSizeChangedListener

    /**
* 设置点播播放视频分辨率变化监听
*
* @param listener
*/
void setVideoSizeChangedListener(OnVideoSizeChangedListener listener);


setBufferingUpdateListener

    /**
* 设置点播视频缓冲加载进度监听
*
* @param listener
*/
void setBufferingUpdateListener(OnBufferingUpdateListener listener);


setOnErrorRefreshUrlListener

    /**
* 设置Url刷新监听
*
* @param listener
* @see OnErrorRefreshUrlInternalListener
*/
void setOnErrorRefreshUrlListener(OnErrorRefreshUrlListener listener);


setOnDownloadListener

    /**
* 设置下载监听
*
* @param listener
* @see OnCacheListener
*/
void setOnDownloadListener(KSMediaPlayerDownloadListener listener);


setOnRepresentationSelectListener

    /**
* 设置manifest档位选择监听
*
* @param listener
* @see OnRepresentationSelectListener
*/
void setOnRepresentationSelectListener(OnRepresentationSelectListener listener);


setSpeed

    /**
* 倍速播放功能
*
* @param speed 小于1慢速,大于1快速
*/
void setSpeed(float speed);


switchVideoQuality

    /**
* 切换清晰度,会恢复进度,有相应事件回调
*
* @param url
* @see KSMediaPlayerConstants
* KS_MEDIA_PLAYER_INFO_VIDEO_QUALITY_SWITCH_START。开始切换
* KS_MEDIA_PLAYER_INFO_VIDEO_QUALITY_SWITCH_END。结束切换,错误则在extra携带
*/
void switchVideoQuality(String url);

/**
* 自定义cacheKey切换清晰度(自定义cacheKey播放时使用),会恢复进度,有相应事件回调
*
* @param url
* @param cacheKey 自定义cacheKey,为空使用默认实现
* @see KSMediaPlayerConstants
* KS_MEDIA_PLAYER_INFO_VIDEO_QUALITY_SWITCH_START。开始切换
* KS_MEDIA_PLAYER_INFO_VIDEO_QUALITY_SWITCH_END。结束切换,错误则在extra携带
*/
void switchVideoQuality(String url, String cacheKey);

/**
* manifest切换清晰度,会恢复进度,有相应事件回调
*
* @param qualityType 清晰度类型
* @see KSMediaPlayerConstants
* KS_MEDIA_PLAYER_INFO_VIDEO_QUALITY_SWITCH_START。开始切换
* KS_MEDIA_PLAYER_INFO_VIDEO_QUALITY_SWITCH_END。结束切换,错误则在extra携带
*/
void switchVideoQualityWithType(String qualityType);


setDanmakuMaskVttUrl

    /**
* 设置vtt文件下载地址
* 由于使用hodor作为内部下载器,所以需要保证在hodor初始化之后调用
*
* @param url vtt地址
* @return 是否设置成功
*/
boolean setDanmakuMaskVttUrl(String url);


updateDanmakuRect

    /**
* 更新弹幕View Rect,使用弹幕自身坐标系,
*
* @param danmakuRect
*/
void updateDanmakuRect(RectF danmakuRect);


updateVideoRect

    /**
* 更新视频显示区域 Rect,为相对弹幕坐标的相对位置
*
* @param videoRect
*/
void updateVideoRect(RectF videoRect);


enableDanmakuMask

    /**
* 开启/关闭 弹幕防挡
*
* @param enable
*/
void enableDanmakuMask(boolean enable);


setSubtitleSelected

    /**
* 设置字幕选中状态
*
* @param index 字幕对应index,关联KSVodSubtitle.index
*/
void setSubtitleSelected(int index, boolean selected);


setOnSubtitleListener

    /**
* 设置字幕相关回调
*
* @param listener
*/
void setOnSubtitleListener(OnSubtitleListener listener);


setOnPlayFinishReportListener

    /**
* 播放结束上报埋点回调
* @param listener 上报埋点回调
*/
void setOnPlayFinishReportListener(OnPlayFinishReportListener listener);


setInteractiveMode

    /**
* VR
* 设置交互模式
*
* @param mode
*/
void setInteractiveMode(@KSMediaPlayerConstants.VRInteractiveMode int mode);


handleTouchEvent

    /**
* VR
* 处理手势事件
*
* @param event 手势事件
* @return 是否处理
*/
boolean handleTouchEvent(MotionEvent event);


registerSensorEvent

    /**
* VR
* register sensor
*/
void registerSensorEvent();


unRegisterSensorEvent

    /**
* VR
* unregister sensor
*/
void unRegisterSensorEvent();


getOrientationDegree

    /**
* VR
* 获取当前全景视频的角度方位
*
* @return 返回值是0-360度的值
*/
int getOrientationDegree();



IKSLivePlayer

成员方法

setSurface

    /**
* 设置渲染目标
*
* @param surface
*/
void setSurface(Surface surface);


isPlaying

    /**
* 检查当前播放器是否处于播放状态
*
* @return true or false
*/
boolean isPlaying();


getVideoWidth

    /**
* 获取视频宽
*
* @return 视频宽
*/
int getVideoWidth();


getVideoHeight

    /**
* 获取视频高
*
* @return 视频高
*/
int getVideoHeight();


setVolume

    /**
* 设置音量
*
* @param left
* @param right
*/
void setVolume(float left, float right);


setPlayerMute

    /**
* 静音播放
* @param mute true:静音 false:恢复
*/
void setPlayerMute(boolean mute);


start

    /**
* 开始播放
*/
void start() throws Exception;


stop

    /**
* 停止播放
*/
void stop() throws Exception;


releaseAsync

    /**
* 异步释放播放器并上报播放埋点
*/
void releaseAsync();


setOnErrorListener

    /**
* 设置setOnErrorListener
*
* @param listener
*/
void setOnErrorListener(OnErrorListener listener);


setOnVideoSizeChangedListener

    /**
* 设置OnVideoSizeChangedListener
*
* @param listener
*/
void setOnVideoSizeChangedListener(OnVideoSizeChangedListener listener);


setOnStateChangeListener

    /**
* 设置OnStateChangeListener
*
* @param listener
*/
void setOnStateChangeListener(OnStateChangeListener listener);


setOnRenderListener

    /**
* 设置OnRenderListener, 包含视频首帧onVideoRenderingStart回调和音频首帧onAudioRenderingStart回调
*
* @param listener
*/
void setOnRenderListener(OnRenderListener listener);


setOnBufferListener

    /**
* 设置OnBufferListener
*
* @param listener
*/
void setOnBufferListener(OnBufferListener listener);


setLiveDataSourceFetcher

    /**
* 设置重连fetcher
*/
void setLiveDataSourceFetcher(KsLiveDataSourceFetcher fetcher);


setOnSeiInfoListener

    /**
* 设置OnSeiInfoListener
*
* @param listener
*/
void setOnSeiInfoListener(OnSeiInfoListener listener);


setOnAudioProcessPCMAvailableListener

    /**
* 设置音频PCM监听
*
* @param listener
*/
void setOnAudioProcessPCMAvailableListener(OnAudioProcessPCMAvailableListener listener);


getKSLiveDebugInfo

    /**
* debug信息
* @return debug信息
*/
KSLivePlayerDebugInfo getKSLiveDebugInfo();


setOnLiveCompletionListener

    /**
* 设置直播拉流结束的回调
* @param listener
*/
void setOnLiveCompletionListener(LivePlayerCompleteListener listener);


setLiveRequestListener

    /**
* 设置m3u8 url hook接口
* @param listener
*/
void setLiveRequestListener(LiveRequestListener listener);


getCurrentVideoPosition

    /**
* 获取当前直播时长, 单位ms
* @return ms
*/
long getCurrentVideoPosition();


setRetryStateListener

    /**
* 设置重试的结果监听
* @param listener 监听
*/
void setRetryStateListener(RetryStateListener listener);


内部类

OnAudioProcessPCMAvailableListener

        /**
* 这个回调会在解码线程调用,注意线程安全。
* 同时内部不要做耗时操作,否则播放会卡顿。
*
* @param pcmData 数据
* @param timeStamp 时间戳 ms
* @param channels 音频声道数
* @param sampleRate 采样率
*/
@AnyThread
void onAudioProcessPCMAvailable(@NonNull ByteBuffer pcmData, long timeStamp, int channels,
int sampleRate, int fmt, double latency);


OnSeiInfoListener

        /**
* seiInfo
*/
void onSeiInfo(byte[] data, int size,int payloadType);


LivePlayerCompleteListener

        /**
* 当前url拉流结束
*/
void onLiveComplete();


KSMediaPlayerCache

类方法

getCachedSize

    /**
* 获取针对url对应的cache文件缓存的字节数
*
* @param url 数据源
* @return 返回缓存字节数Byte
*/
public static long getCachedSizeWithUrl(String url) {
}

/**
* 获取cacheKey对应的cache文件缓存的字节数
*
* @param url 数据源
* @param cacheKey 没有可传null
* @return 返回缓存字节数Byte
*/
public static long getCachedSize(String url, String cacheKey) {
}


isFullyCached

    /**
* 针对url对应的cache文件是否缓存完整
*
* @param url 数据源
* @return true 代表缓存完整
*/
public static boolean isFullyCached(String url) {
}

/**
* cacheKey对应的cache文件是否缓存完整
*
* @param url 数据源
* @param cacheKey 没有可传null
* @return true 代表缓存完整
*/
public static boolean isFullyCached(String url, String cacheKey) {}


getTotalCachedSize

    /**
* 获取目录的一共缓存了多大的文件
*
* @return 返回缓存字节数Byte
*/

public static long getTotalCachedSize() {}


clearCache

    /**
* 清理缓存
*/
public static void clearCache() {}


setCacheKeyGenerator

    /**
* 自定义生成cacheKey
* @param ksCacheKeyGenerator cache生成器
*/
public static void setCacheKeyGenerator(final KSCacheKeyGenerator ksCacheKeyGenerator) {}


内部类

KSCacheKeyGenerator

    public interface KSCacheKeyGenerator {
/**
* 根据播放地址url生成缓存key
* @param url 播放地址
* @return 缓存key
*/
String getCacheKey(String url);
}



KSMediaPlayerConfig

类方法

init

    /**
* 初始化DNS配置,建议在Application中尽早初始化。
*
* @param app Application必填项
* @param appId appID 需要后台申请
* @param deviceId 设备ID
* @param listener 初始化结果回调
*/
public static void init(@NonNull final Application app, @NonNull String appId, String deviceId,
OnInitListener listener) {
}

/**
* @param app Application必填项
* @param appId appID 需要后台申请
* @param deviceId 设备ID
* @param cachePath setHodorRootPathExtraDirName("some_dir")后,media的缓存路径是:/data/user/0/com.smile.gifmaker/files/.hodor/some_dir/media。如果传null或者空串就是默认位置
* @param listener 初始化结果回调
*/
public static void init(@NonNull final Application app, @NonNull String appId, String deviceId,
String cachePath,
OnInitListener listener) {
}


setDeviceId

    /**
* 设置deviceId
*
* @param deviceId 设备唯一ID
*/
public static void setDeviceId(String deviceId) {
}


isSupportHDR

    /**
* 当前是否支持HDR
*
* @return
*/
public static boolean isSupportHDR() {}


isSupportHwDecode

    /**
* 判断机型是否支持硬解
*
* @return 1支持硬解 0只支持软解
*/
public static boolean isSupportHwDecode() {}


generateDeviceId

    /**
* 获取当前设备唯一标识符
*
* @param context
* @return string
*/
public static String generateDeviceId(Context context) {}


setLogListener

    /**
* 设置日志回调
*
* @param listener
*/
public static void setLogListener(KSMediaPlayerLogListener listener) {}


KSMediaPlayerDownloadInfo

成员变量

uri

    /**
* 下载媒资信息
*/
public String uri;


ip

    /**
* 下载ip
*/
public String ip;


host

    /**
* host
*/
public String host;


cacheKey

    /**
* 缓存key
*/
public String cacheKey;


sessionUUID

    /**
* 一次任务(预加载/播放)保持唯一
*/
public String sessionUUID;


downloadUUID

    /**
* 一次HTTP请求保持唯一
*/
public String downloadUUID;


contentLength

    /**
* HTTP contentLength
*/
public long contentLength;


totalBytes

    /**
* 资源总大小 单位byte
*/
public long totalBytes;


position

    /**
* 当前已下载大小 单位byte
*/
public long position;


downloadState

    /**
* 下载状态
* @see com.kwai.video.ksmediaplayerkit.prefetcher.BasePrefetchTask#HodorTaskState_Finished = 1; // 全部下载完成
*/
public int downloadState;


httpResponseCode

    /**
* http状态码
*/
public int httpResponseCode;


errorCode

    /**
* 下载错误码
*/
public int errorCode;


errorMsg

    /**
* 下载错误信息
*/
public String errorMsg;


downloadBytes

    /**
* 一次请求下载大小 byte
*/
public long downloadBytes;


timeCost

    /**
* 一次请求花费时间 ms
*/
public long timeCost;


downloadState

    /**
* 下载结束原因
* @see com.kwai.video.ksmediaplayerkit.prefetcher.BasePrefetchTask#STOP_REASON_FINISHED = 1; // 分片下载结束
* @see com.kwai.video.ksmediaplayerkit.prefetcher.BasePrefetchTask#STOP_REASON_CANCELLED = 2; // 任务返回
*/
public int stopReason;


networkType

    /**
* 下载使用的网络
*/
public int networkType;


成员方法

getNetworkType

    /**
* 网络类型
* @param networkType string类型
* @return int值的网络类型
*/
int getNetworkType(String networkType) {
int type = KSMediaPlayerConstants.KSMediaPlayerDownloadNetworkType.TYPE_UNKNOWN;
if (TextUtils.equals("WIFI", networkType)) {
type = KSMediaPlayerConstants.KSMediaPlayerDownloadNetworkType.TYPE_WIFI;
} else if (TextUtils.equals("UNKNOWN", networkType)) {
type = KSMediaPlayerConstants.KSMediaPlayerDownloadNetworkType.TYPE_UNKNOWN;
} else {
type = KSMediaPlayerConstants.KSMediaPlayerDownloadNetworkType.TYPE_MOBILE;
}
return type;
}


KSMediaPlayerException

构造器

    /**
* 播放器异常
* @param cause 异常throwable
*/
public KSMediaPlayerException(Throwable cause){
}

/**
* 播放器异常
* @param message 异常字符串
*/
public KSMediaPlayerException(String message){
}


KSMediaPlayerVideoContext

成员变量

mVideoId

    /**
* 媒资id
*/
public String mVideoId;


mClickTime

    /**
* 点击视频时间,用于计算ClickToFirstFrame
*/
public long mClickTime;


mPageName

    /**
* 页面名称,用来区分不同页面的播放统计数据
*/
public String mPageName;


mExtra

    /**
* 扩展信息
*/
public String mExtra;


mClickToFirstFrame

    /**
* 首屏时间
*/
public long mClickToFirstFrame;


mBizName

    /**
* 业务名称
*/
public String mBizName;


mSceneName

    /**
* 场景名称
*/
public String mSceneName;


mAbConfig

    /**
* ab测试
*/
public String mAbConfig;


mAppChannel

    /**
* app渠道
*/
public String mAppChannel;


mCdnManufacture

    /**
* cdn厂商
*/
public String mCdnManufacture;


OnInitListener

onInitSuccess

        /**
* sdk初始化成功
*/
void onInitSuccess();


onInitError

        /**
* sdk初始化失败
* @param e 失败信息
*/
void onInitError(KSMediaPlayerException e);


KSMediaPlayerBuilder

成员方法

构造器

/**
* 构造器
* @param context 安卓context
*/
public KSMediaPlayerBuilder(Context context) {}

setForceDecodeType

/**
* 强制设置解码器类型, 不设置的默认走播放器的自适应决策树逻辑
* @param decodeType
* @return
*/
public KSMediaPlayerBuilder setForceDecodeType(@VideoCodecType int decodeType) {}

setVideoAlphaType

/**
* 设置视频alpha通道信息
*
* @param type 视频alpha通道类型
* 0: 普通视频 默认
* 1:左右通道 alpha通道宽高与rgb通道一致
* 2:左右通道 alpha通道宽高为rgb通道一半
* 5:左右通道 alpha通道宽高与rgb通道一致, alpha在左侧
* @return builder
*/
@Keep
public KSMediaPlayerBuilder setVideoAlphaType(@KSMediaPlayerConstants.KSMediaPlayerVideoAlphaType int type) {}

setAbLoopCount

/**
* 带计数器a-b循环播放结束后会继续播放,播放器内部不会暂停,实现OnABLoopEndOfCounterListener可获取计数器结束回调
* 对纯音频多媒体无效 设置一些无效值,abloop则不会生效
*
* @param startMs 开始时间
* @param endMs 结束时间
* @param count 循环播放次数 默认-1无限循环
*/
@Keep
public KSMediaPlayerBuilder setAbLoopCount(long startMs, long endMs, int count) {}

/**
* 带计数器a-b循环播放结束后会继续播放,播放器内部不会暂停,实现OnABLoopEndOfCounterListener可获取计数器结束回调
* 对纯音频多媒体无效 设置一些无效值,abloop则不会生效
*
* @param startMs 开始时间
* @param endMs 结束时间
* @param count 循环播放次数 默认-1无限循环
* @param disableSeekAtStart abloop设置是否在开播seek到startms,默认会seek到循环开始时间播放
*/
@Keep
public KSMediaPlayerBuilder setAbLoopCount(long startMs, long endMs, int count, boolean disableSeekAtStart) {}

setDataSource

/**
* 设置点播播放地址 * @param url 播放地址
*/public KSMediaPlayerBuilder setDataSource(String url) {}

/**
* 设置点播播放地址
* @param url 播放地址
* @param cacheKey 缓存key
* @return this
*/
public KSMediaPlayerBuilder setDataSource(String url, String cacheKey) {}

/**
* 设置点播播放地址列表,与setDataSource互斥
* @param urlList 播放地址
*/
public KSMediaPlayerBuilder setDataSource(List<String> urlList) {}

enableP2sp

/**
* 当前url是否允许p2sp播放
* @param enableP2sp
* @return
*/
public KSMediaPlayerBuilder enableP2sp(boolean enableP2sp) {}

setUseHwTvPlay

/**
* 强制开启TV端的硬解
* @param enable
* @return
*/
public KSMediaPlayerBuilder setUseHwTvPlay(boolean enable) {}

setKwaiManifest

/**
* 支持输入快手多码率manifest(多个码率/分辨率档位清单),sdk会根据机型能力、当前网络决策使用某一个码率/分辨率档位
*
* @param manifest
* @return
*/
public KSMediaPlayerBuilder setKwaiManifest(String manifest) {}

setPlayTokenSource

/**
* 支持playToken播放
*
* @param source
* @return
*/
public KSMediaPlayerBuilder setPlayTokenSource(KSPlayTokenSource source) {}

setKwaiManifestRepId

/**
* 设置多码率的manifest启播档位
*
* @param id 对应manifest-representation-id字段
* switch_code >=0,选择switch_code对应的档位id
* switch_code =-100,正常的多码率决策逻辑
* switch_code = (-100, -199),EyeMax档位选择需求 -101,固定选择最高分辨率档位 -102,固定选择已缓存数据量最多的档位 -103,固定选择最低分辨率档位
* switch_code = (-200, -299), 多码率手动切换 -201, "超清"档位, 在 720P/1080P 之间选择 -202, "省流"档位, 选码率最低的档位 其它值预留,走正常的多码率决策逻辑 其它值预留,正常的多码率决策逻辑
* @return this
*/
public KSMediaPlayerBuilder setKwaiManifestRepId(int id) {}

seekAtStart

/**
* 设置起播seek
*
* @param seekMs, ms
*/
public KSMediaPlayerBuilder seekAtStart(long seekMs) {}

setStartOnPrepared

/**
* 是否在onPrepared后自动起播,启用后不再需要在OnPrepared调用start
*
* @param startOnPrepared
* @return this
*/
public KSMediaPlayerBuilder setStartOnPrepared(boolean startOnPrepared) {}

setEnableAdjustRateVoice

/**
* 是否开启变速不变调
*
* @param enableAdjustRateVoice
* @return this
*/
public KSMediaPlayerBuilder setEnableAdjustRateVoice(boolean enableAdjustRateVoice) {}

setPlayFromHistory

/**
* 是否从播放历史进行播放
*
* @param enable
* @return this
*/
public KSMediaPlayerBuilder setPlayFromHistory(boolean enable) {}

setVideoId

/**
* 设置videoId
*
* @param videoId
* @return this
*/
public KSMediaPlayerBuilder setVideoId(String videoId) {}

enableDanmakuMask

/**
* 是否开启弹幕防挡
*
* @param enable
* @return this
*/
public KSMediaPlayerBuilder enableDanmakuMask(boolean enable) {}

setDanmakuMaskRender

/**
* 设置弹幕防挡render
*
* @param render 在绘制弹幕使用当前render处理,详情见demo使用
* @return this
*/
public KSMediaPlayerBuilder setDanmakuMaskRender(KSMediaMaskRender render) {}

setSubtitle

/**
* 添加外挂字幕
*
* @param url 字幕对应url
* @param selectIndex 当前字幕添加选中index
* @return 字幕对应index, 关联 KSVodSubtitle.index
*/
public KSMediaPlayerBuilder setSubtitle(String[] url, int selectIndex) {}

setVideoRenderType

/**
* 标识视频view渲染方式,用于校准弹幕防挡
*
* @param renderType
* @return this
*/
public KSMediaPlayerBuilder setVideoRenderType(KSMediaRenderType renderType) {}

setMaskRenderType

/**
* 标识弹幕view渲染方式,用于校准弹幕防挡
*
* @param renderType
* @return this
*/
public KSMediaPlayerBuilder setMaskRenderType(KSMediaRenderType renderType) {}

setFrameRate

/**
* 当前屏幕刷新率,用于校准弹幕防挡
*
* @param frameRate
* @return this
*/
public KSMediaPlayerBuilder setFrameRate(float frameRate) {}

setPlayerType

/**
* 设置播放器类型,so失败会强制使用系统播放器
*
* @param playerType 支持系统播放器和快手播放器
* @return this
* @see KSMediaPlayerConstants KS_MEDIA_PLAYER_TYPE_KWAI or KS_MEDIA_PLAYER_TYPE_SYSTEM
*/
public KSMediaPlayerBuilder setPlayerType(int playerType) {}

enableFirstFrameRender

/**
* 设置首帧预渲染
*
* @param enable
* @return this
*/
public KSMediaPlayerBuilder enableFirstFrameRender(boolean enable) {}

setDisableLocalCache

/**
* 设置关闭本地缓存,true代表视频不会缓存到本地,默认false
*
* @param disable
* @return this
*/
@Keep
public KSMediaPlayerBuilder setDisableLocalCache(boolean disable) {}

setSubtitle

/**
* 添加外挂字幕
*
* @param url 字幕对应url
* @param selectIndex 当前字幕添加选中index
* @return 字幕对应index, 关联 KSVodSubtitle.index
*/
public KSMediaPlayerBuilder setSubtitle(String[] url, int selectIndex) {}

setVideoQualityType

/**
* 视频质量类型,HDR/SDR+必须设置
*
* @param type
* @return this
* @see KSMediaPlayerConstants.KSMediaPlayerQualityType
*/
public KSMediaPlayerBuilder setVideoQualityType(String type) {}

setStereoType

/**
* 设置视频类型
* 0 普通
* 1 vr
*
* @param type
* @return this
*/
public KSMediaPlayerBuilder setStereoType(@KSMediaPlayerConstants.StereoType int type) {}

enableAccurateSeek

/**
* 是否开启精准seek,默认true,一般在纯音频场景使用false
* @param enable 开启
* @return builder this
*/
public KSMediaPlayerBuilder enableAccurateSeek(boolean enable) {}

setIsLoop

/**
* 是否循环播放
* @param isLoop 循环
* @return builder
*/
public KSMediaPlayerBuilder setIsLoop(boolean isLoop) {}

build

/**
* 创建点播播放器
*
* @return KSMediaPlayer
*/
public IKSMediaPlayer build() throws KSMediaPlayerException {}


KSLivePlayerBuilder

成员变量

mContext

/**
* ​安卓context
*/
public Context mContext;

mHeaders

/**
* ​网络请求headers头
*/
public Map<String, String> mHeaders;

mRetryCount

/**
* ​直播报错后的重试次数
*/
public int mRetryCount = -1;

mRetryInterval

/**
* ​直播报错后的重试间隔,毫秒
*/
public long mRetryInterval;

mDataSource

/**
* ​直播地址
*/
public KSLiveDataSource mDataSource;

成员方法

构造器

/**
* Builder的构造函数
* 必须传入应用的上下文
*/
public KSLivePlayerBuilder(Context context) {}

setDataSource

/**
* 设置播放地址
*
* @param dataSource 直播地址
*/
public KSLivePlayerBuilder setDataSource(KSLiveDataSource dataSource) {}

setHeaders

/**
* 设置直播请求头
*
* @param headers
* @return
*/
public KSLivePlayerBuilder setHeaders(Map<String, String> headers) {}

setRetryCount

/**
*
* @param retryCount
* @return 播放器错误重试次数
*/
public KSLivePlayerBuilder setRetryCount(int retryCount) {}

setRetryInterval

/**
* 设置播放器重试间隔
* @param retryInterval ms
* @return
*/
public KSLivePlayerBuilder setRetryInterval(long retryInterval) {}

build

/**
* 创建LivePlayer实例
*/
public IKSLivePlayer build() {}


KSLiveDataSource

成员变量

url

/**
* ​url地址
*/
public String url;

streamId

/**
* ​媒资id
*/
public String streamId;


KSPlayTokenSource

成员变量

videoId

/**
* ​videoId
*/
public String videoId;

playToken

/**
* token
*/
public String playToken;


KSLivePlayerDebugInfo

成员变量

firstScreenTimeTotal

/**
* ​首屏时长, 单位ms
*/
public long firstScreenTimeTotal;

firstScreenStepCostInfo

/**
* 首屏信息,包含分段信息的字符串
*/
public String firstScreenStepCostInfo;

firstScreenTimePktReceive

/**
* ​从网络读取一帧视频数据的耗时
*/
public long firstScreenTimePktReceive;

firstScreenTimeDecode

/**
* 首帧解码的耗时
*/
public long firstScreenTimeDecode;

videoBitrate

/**
* ​拉流码率参数视频
*/
public long videoBitrate;

audioBitrate

/**
* 拉流码率参数音频
*/
public long audioBitrate;

videoDecoder

/**
* ​video解码器
*/
public String videoDecoder;

audioDecoder

/**
* audio解码器
*/
public String audioDecoder;

videoReadFramesPerSecond

/**
* ​拉流帧率参数
*/
public float videoReadFramesPerSecond;

videoDecodeFramesPerSecond

/**
* 视频解码帧率
*/
public float videoDecodeFramesPerSecond;

videoDisplayFramesPerSecond

/**
* ​视频显示帧率
*/
public float videoDisplayFramesPerSecond;

videoDelayRender

/**
* 延迟时间
*/
public int videoDelayRender;

audioTotalDataSize

/**
* ​下载的audio data
*/
public long audioTotalDataSize;

videoTotalDataSize

/**
* 下载的video data
*/
public long videoTotalDataSize;

totalDataSize

/**
* ​下载的data
*/
public long totalDataSize;

audioBufferTimeLength

/**
* 音频缓存时长, 单位ms
*/
public int audioBufferTimeLength;

videoBufferTimeLength

/**
* ​视频缓存时长, 单位ms
*/
public int videoBufferTimeLength;

cpuInfo

/**
* cpu信息
*/
public String cpuInfo;

memoryInfo

/**
* ​内存信息
*/
public String memoryInfo;

stepCostFirstFrameRender

/**
* 首帧分阶段耗时
*/
public long stepCostFirstFrameRender;

gopDuration

/**
* gop时长, 单位ms
*/
public long gopDuration;

serverIp

/**
* ​服务端ip
*/
public String serverIp;

blockCnt

/**
* 卡顿次数
*/
public int blockCnt;

blockDuration

/**
* ​卡顿时长, 单位ms
*/
public long blockDuration;

videoBlockCnt

/**
* 视频卡顿次数
*/
public int videoBlockCnt;

videoBlockDuration

/**
* ​视频卡顿时长, 单位ms
*/
public long videoBlockDuration;

playToken

/**
* token
*/
public String playToken;

videoId

/**
* ​videoId
*/
public String videoId;

firstScreenTimeDnsAnalyze

/**
* DNS解析
*/
public long firstScreenTimeDnsAnalyze;

firstScreenTimeHttpConnect

/**
* ​http建联
*/
public long firstScreenTimeHttpConnect;

firstScreenTimeInputOpen

/**
* ffplay first step input open
*/
public long firstScreenTimeInputOpen;

firstScreenTimeStreamFind

/**
* ​拉到流的时间
*/
public long firstScreenTimeStreamFind;

firstScreenTimeCodecOpen

/**
* 打开解码器时长, 单位ms
*/
public long firstScreenTimeCodecOpen;

firstScreenTimeWaitForPlay

/**
* ​首帧等待渲染时长, 单位ms
*/
public long firstScreenTimeWaitForPlay;

成员方法

构造器

public KSLivePlayerDebugInfo(LivePlayerController livePlayerController) {}


KSMediaPlayerDebugInfo

成员变量

version

/**
* ​sdk版本
*/
public String version;

inputUrl

/**
* 输入url
*/
public String inputUrl;

playingUrl

/**
* ​正在播放的地址
*/
public String playingUrl;

videoCodec

/**
* 视频解码信息
*/
public String videoCodec;

audioCodec

/**
* ​音频解码信息
*/
public String audioCodec;

duration

/**
* 视频时长, 单位ms
*/
public long duration;

width

/**
* ​video视频宽
*/
public int width;

height

/**
* video视频高
*/
public int height;

fps

/**
* ​帧率
*/
public float fps;

bitrate

/**
* 码率
*/
public float bitrate;

deviceId

/**
* ​deviceid
*/
public String deviceId;

host

/**
* host
*/
public String host;

ip

/**
* ​ip
*/
public String ip;

mDownloadSpeed

/**
* 下载速度, kB/s
*/
public long mDownloadSpeed;

playerType

/**
* ​播放器类型
* @see KSMediaPlayerConstants
* @see KSMediaPlayerConstants#KS_MEDIA_PLAYER_TYPE_SYSTEM 系统播放器
* @see KSMediaPlayerConstants#KS_MEDIA_PLAYER_TYPE_KWAI kwaiplayer
*/
public int playerType;

成员方法

reset

/**
* ​重置
*/
public void reset() {}


KSRepresentation

成员变量

id

/**
* ​id
*/
public int id;

url

/**
* 播放url
*/
public String url;

qualityType

/**
* ​视频质量类型
*/
public String qualityType;

qualityLabel

/**
* 视频质量标签
*/
public String qualityLabel;

成员方法

isValid

/**
* ​是否合法
*/
public boolean isValid() {}


KSMediaSubtitleDetail

成员变量

id

/**
* ​id
*/
public int id;

url

/**
* 播放url
*/
public String url;

qualityType

/**
* ​视频质量类型
*/
public String qualityType;

qualityLabel

/**
* 视频质量标签
*/
public String qualityLabel;











上一篇:快速开始下一篇:错误码查询
该篇文档内容是否对您有帮助?
有帮助没帮助