Skip to content

hardwareDecode

xinbaicheng edited this page Sep 6, 2016 · 10 revisions

接口定义

v1.5.0 or earlier

/**
 * @param flag 开启硬解的标志位
 */
public void setCodecFlag(int flag)

v1.5.1 or later

public enum KSYDecodeMode {
    KSY_DECODE_MODE_SOFTWARE,
    KSY_DECODE_MODE_AUTO,
    KSY_DECODE_MODE_HARDWARE
}

/**
 * @param mode 硬解模式
 */
public void setDecodeMode(KSYDecodeMode mode)

SDK提供三种解码模式,其含义如下所示

名字 含义
KSY_DECODE_MODE_SOFTWARE 播放器使用软解
KSY_DECODE_MODE_AUTO SDK尝试使用硬解,当机器不在白名单里时,自动切换至软解
KSY_DECODE_MODE_HARDWARE SDK尝试使用硬解,当机器不在白名单里时,自动切换至软解

硬解前后台切换黑屏/花屏

解决方法

调用示例

v1.5.0 or earlier

播放器默认使用软解,在调用本接口后播放器才会尝试使用硬解,如果机型不在白名单中,仍旧使用软解
SDK暂时只支持对264和265视频的硬解,且须在prepareAsync之前设置

KSYMediaPlayer ksyMediaPlayer;

// 硬解264
ksyMediaPlayer.setCodecFlag(KSYMediaPlayer.KSY_USE_MEDIACODEC_H264);

// 硬解265
ksyMediaPlayer.setCodecFlag(KSYMediaPlayer.KSY_USE_MEDIACODEC_H265);

//硬解264&265
ksyMediaPlayer.setCodecFlag(KSYMediaPlayer.KSY_USE_MEDIACODEC_ALL);

ksyMediaPlayer.prepareAsync();

v1.5.1 or later

KSYMediaPlayer ksyMediaPlayer;

//使用软解
ksyMediaPlayer.setDecodeMode(KSYDecodeMode.KSY_DECODE_MODE_SOFTWARE);

//使用自动模式
ksyMediaPlayer.setDecodeMode(KSYDecodeMode.KSY_DECODE_MODE_AUTO);
Clone this wiki locally