com.aliyun.player.nativeclass

## 类 PlayerConfig

- java.lang.Object
- - com.aliyun.player.nativeclass.PlayerConfig

-     public class PlayerConfig
      extends java.lang.Object

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `boolean` | `mClearFrameWhenStop` 停止后是否清空画面。
    `boolean` | `mDisableAudio` 禁用Audio。
    `boolean` | `mDisableVideo` 禁用Video。
    `boolean` | `mEnableHttp3` 使用http3进行请求，支持标准：RFC 9114（HTTP3）和RFC 9000（QUIC v1），默认值关 如果http3请求失败，自动降级至普通http
    `int` | `mEnableHttpDns` 播放器实例是否可以使用http dns进行解析，-1 表示跟随全局设置，0 禁用
    `boolean` | `mEnableLocalCache` 当通过GlobalSettings API打开本地缓存功能后，此处可设置当前播放器实例是否允许被缓存，默认允许。
    `boolean` | `mEnableLowLatencyMode` 给特定支持的芯片设置（如海思）硬解码low-latency模式，以降低解码延时，最终降低端到端延时 默认值关
    `boolean` | `mEnableProjection` 允许当前播放器实例进行投屏 你需要集成投屏SDK来完成投屏功能 默认值关
    `boolean` | `mEnableSEI` 是否启用SEI
    `boolean` | `mEnableStrictAuthMode` 针对打开了点播URL鉴权的媒体资源（HLS协议），开启本地缓存后，可选择不同的鉴权模式： 非严格鉴权(false)：鉴权也缓存，若上一次只缓存了部分媒体，下次播放至非缓存部分时，播放器会用缓存的鉴权发起请求，如果URL鉴权设置的有效很短的话，会导致播放异常。
    `boolean` | `mEnableStrictFlvHeader` 用于纯音频或纯视频的RTMP/FLV直播流起播优化策略，当流的header声明只有音频或只有视频时，且实际流的内容跟header声明一致时，此选项打开可以达到快速起播的效果 默认值关
    `boolean` | `mEnableVideoBufferRender` 是否启用MediaCodec Buffer Render
    `boolean` | `mEnableVideoTunnelRender` 是否启用TunnelRender
    `int` | `mHighBufferDuration` 高缓冲时长。
    `java.lang.String` | `mHttpProxy` http代理。
    `int` | `mLiveStartIndex` HLS直播时，起播分片位置。
    `long` | `mMaxBackwardBufferDurationMs` 往前缓存的最大buffer时长。
    `int` | `mMaxBufferDuration` 最大缓冲区时长。
    `int` | `mMaxDelayTime` 最大延迟。
    `int` | `mMaxProbeSize` 最大probe大小。
    `int` | `mNetworkRetryCount` 网络重试次数，每次间隔networkTimeout，networkRetryCount=0则表示不重试，重试策略app决定，默认值为2
    `int` | `mNetworkTimeout` 网络超时时间。
    `int` | `mPositionTimerIntervalMs` 进度跟新的频率。
    `boolean` | `mPreferAudio` 优先保证音频播放；在网络带宽不足的情况下，优先保障音频的播放，目前只在dash直播流中有效（视频已经切换到了最低码率）
    `java.lang.String` | `mReferrer` referrer
    `int` | `mStartBufferDuration` 起播缓冲区时长。
    `int` | `mStartBufferLimit` 开始预加载/下载的阈值。
    `int` | `mStopBufferLimit` 停止预加载/下载阈值。
    `java.lang.String` | `mUserAgent` 设置请求的ua

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.lang.String[]` | `getCustomHeaders()` 获取用户自定义header
    `void` | `setCustomHeaders(java.lang.String[] headers)` 设置用户自定义header

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### mHttpProxy

          public java.lang.String mHttpProxy

      http代理。例如："http://ip:port"

    - #### mReferrer

          public java.lang.String mReferrer

      referrer

    - #### mNetworkTimeout

          public int mNetworkTimeout

      网络超时时间。单位ms。

    - #### mMaxDelayTime

          public int mMaxDelayTime

      最大延迟。注意：直播有效。单位ms。

    - #### mMaxBufferDuration

          public int mMaxBufferDuration

      最大缓冲区时长。单位ms

    - #### mHighBufferDuration

          public int mHighBufferDuration

      高缓冲时长。单位ms

    - #### mStartBufferDuration

          public int mStartBufferDuration

      起播缓冲区时长。单位ms。

    - #### mMaxProbeSize

          public int mMaxProbeSize

      最大probe大小。单位 byte 。 -1：默认。

    - #### mClearFrameWhenStop

          public boolean mClearFrameWhenStop

      停止后是否清空画面。默认为false。

    - #### mEnableVideoTunnelRender

          public boolean mEnableVideoTunnelRender

      是否启用TunnelRender

    - #### mEnableVideoBufferRender

          public boolean mEnableVideoBufferRender

      是否启用MediaCodec Buffer Render

    - #### mEnableSEI

          public boolean mEnableSEI

      是否启用SEI

    - #### mUserAgent

          public java.lang.String mUserAgent

      设置请求的ua

    - #### mNetworkRetryCount

          public int mNetworkRetryCount

      网络重试次数，每次间隔networkTimeout，networkRetryCount=0则表示不重试，重试策略app决定，默认值为2

    - #### mLiveStartIndex

          public int mLiveStartIndex

      HLS直播时，起播分片位置。

    - #### mDisableAudio

          public boolean mDisableAudio

      禁用Audio。

    - #### mDisableVideo

          public boolean mDisableVideo

      禁用Video。

    - #### mPositionTimerIntervalMs

          public int mPositionTimerIntervalMs

      进度跟新的频率。包括当前位置和缓冲位置。

    - #### mMaxBackwardBufferDurationMs

          public long mMaxBackwardBufferDurationMs

      往前缓存的最大buffer时长。

    - #### mPreferAudio

          public boolean mPreferAudio

      优先保证音频播放；在网络带宽不足的情况下，优先保障音频的播放，目前只在dash直播流中有效（视频已经切换到了最低码率）

    - #### mEnableLocalCache

          public boolean mEnableLocalCache

      当通过GlobalSettings API打开本地缓存功能后，此处可设置当前播放器实例是否允许被缓存，默认允许。

    - #### mEnableHttpDns

          public int mEnableHttpDns

      播放器实例是否可以使用http dns进行解析，-1 表示跟随全局设置，0 禁用

    - #### mEnableHttp3

          public boolean mEnableHttp3

      使用http3进行请求，支持标准：RFC 9114（HTTP3）和RFC 9000（QUIC v1），默认值关 如果http3请求失败，自动降级至普通http

    - #### mEnableStrictFlvHeader

          public boolean mEnableStrictFlvHeader

      用于纯音频或纯视频的RTMP/FLV直播流起播优化策略，当流的header声明只有音频或只有视频时，且实际流的内容跟header声明一致时，此选项打开可以达到快速起播的效果 默认值关

    - #### mEnableLowLatencyMode

          public boolean mEnableLowLatencyMode

      给特定支持的芯片设置（如海思）硬解码low-latency模式，以降低解码延时，最终降低端到端延时 默认值关

    - #### mEnableProjection

          public boolean mEnableProjection

      允许当前播放器实例进行投屏 你需要集成投屏SDK来完成投屏功能 默认值关

    - #### mEnableStrictAuthMode

          public boolean mEnableStrictAuthMode

      针对打开了点播URL鉴权的媒体资源（HLS协议），开启本地缓存后，可选择不同的鉴权模式： 非严格鉴权(false)：鉴权也缓存，若上一次只缓存了部分媒体，下次播放至非缓存部分时，播放器会用缓存的鉴权发起请求，如果URL鉴权设置的有效很短的话，会导致播放异常。 严格鉴权(true)：鉴权不缓存，每次起播都进行鉴权，无网络下会导致起播失败。 默认值：false

    - #### mStartBufferLimit

          public int mStartBufferLimit

      开始预加载/下载的阈值。单位ms

    - #### mStopBufferLimit

          public int mStopBufferLimit

      停止预加载/下载阈值。单位ms

  - ### 方法详细资料

    - #### getCustomHeaders

          public java.lang.String[] getCustomHeaders()

      获取用户自定义header
      返回:

    - #### setCustomHeaders

          public void setCustomHeaders(java.lang.String[] headers)

      设置用户自定义header
      参数:
        `headers` -