com.aliyun.player

## 接口 IPlayer

- 所有已知子接口:
    AliLiveShiftPlayer

      public interface IPlayer

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 接口和说明
    --- | ---
    `static interface` | `IPlayer.ConvertURLCallback` 转换url回调接口。
    `static class` | `IPlayer.IPResolveType` IP 解析类型
    `static class` | `IPlayer.MirrorMode` 镜像模式
    `static interface` | `IPlayer.OnChooseTrackIndexListener` 选择要播放的流。
    `static interface` | `IPlayer.OnCompletionListener` 播放完成通知.
    `static interface` | `IPlayer.OnErrorListener` 出错通知
    `static interface` | `IPlayer.OnInfoListener` 信息通知
    `static interface` | `IPlayer.OnLoadingStatusListener` 加载状态通知
    `static interface` | `IPlayer.OnPreparedListener` 准备成功通知
    `static interface` | `IPlayer.OnPreRenderFrameCallback` 预渲染帧回调.将会在渲染之前回调此方法
    `static interface` | `IPlayer.OnRenderFrameCallback` 渲染帧回调
    `static interface` | `IPlayer.OnRenderingStartListener` 渲染开始通知
    `static interface` | `IPlayer.OnReportEventListener` 上报事件参数
    `static interface` | `IPlayer.OnSeekCompleteListener` 拖动完成通知
    `static interface` | `IPlayer.OnSeiDataListener` SEI数据回调
    `static interface` | `IPlayer.OnSnapShotListener` 截图结果。
    `static interface` | `IPlayer.OnStateChangedListener` 播放器状态变化通知
    `static interface` | `IPlayer.OnSubtitleDisplayListener` 字幕显示通知
    `static interface` | `IPlayer.OnThumbnailListener` 缩略图结果通知
    `static interface` | `IPlayer.OnTrackChangedListener` 切换流变化通知。
    `static interface` | `IPlayer.OnTrackReadyListener` 流准备完成通知
    `static interface` | `IPlayer.OnVideoRenderedListener` 视频渲染回调
    `static interface` | `IPlayer.OnVideoSizeChangedListener` 视频宽高变化通知
    `static class` | `IPlayer.Option` 播放器可获取的选项
    `static class` | `IPlayer.PropertyKey` 获取信息播放器的key
    `static class` | `IPlayer.RenderFrameCallbackConfig`
    `static class` | `IPlayer.RotateMode` 旋转模式
    `static class` | `IPlayer.ScaleMode` 缩放模式
    `static class` | `IPlayer.SeekMode` seek模式

  - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static int` | `completion` 播放完成状态
    `static int` | `error` 出错状态
    `static int` | `idle` 空状态。
    `static int` | `initalized` 初始化了的状态，设置播放源之后的状态
    `static int` | `paused` 播放已暂停的状态
    `static int` | `prepared` 准备成功的状态
    `static int` | `started` 正在播放的状态
    `static int` | `stopped` 播放已停止的状态
    `static int` | `unknow` 未知状态

  - ### 方法概要

    所有方法 实例方法 抽象方法 已过时的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `addExtSubtitle(java.lang.String url)` 添加外挂字幕
    `void` | `clearScreen()` 清空画面。
    `TrackInfo` | `currentTrack(int type)` 已过时。
    `TrackInfo` | `currentTrack(TrackInfo.Type type)` 根据type获取当前播放的流。
    `void` | `enableHardwareDecoder(boolean enable)` 是否启用硬解码
    `java.lang.String` | `getCacheFilePath(java.lang.String URL)` 根据url获取缓存的文件名。
    `java.lang.String` | `getCacheFilePath(java.lang.String vid, java.lang.String format, java.lang.String definition, int previewTime)` 根据vid 获取缓存的文件名。
    `PlayerConfig` | `getConfig()` 获取播放器配置
    `long` | `getDuration()` 获取总时长。
    `MediaInfo` | `getMediaInfo()` 获取媒体信息。
    `IPlayer.MirrorMode` | `getMirrorMode()` 获取当前镜像模式。
    `long` | `getNativeContextAddr()`
    `java.lang.Object` | `getOption(IPlayer.Option key)` 获取播放器的选项参数
    `java.lang.String` | `getPlayerName()` 获取播放时使用的播放器名字
    `java.lang.String` | `getPropertyString(IPlayer.PropertyKey key)` 根据key获取相应的信息。
    `IPlayer.RotateMode` | `getRotateMode()` 获取画面旋转模式
    `IPlayer.ScaleMode` | `getScaleMode()` 获取画面缩放模式
    `float` | `getSpeed()` 获取倍数播放值。
    `int` | `getVideoHeight()` 获取视频高度
    `int` | `getVideoRotation()` 获取视频旋转角度
    `int` | `getVideoWidth()` 获取视频宽度
    `float` | `getVolume()` 获取音量。
    `boolean` | `isAutoPlay()` 是否自动播放。
    `boolean` | `isLoop()` 是否循环播放
    `boolean` | `isMute()` Query whether the player is muted.
    `void` | `pause()` 暂停播放
    `void` | `prepare()` 准备。
    `void` | `redraw()` 已过时。
    `void` | `release()` 释放。
    `void` | `reload()` 重新加载。
    `void` | `reset()` 重置。
    `void` | `seekTo(long position)` 跳转到。
    `void` | `seekTo(long position, IPlayer.SeekMode seekMode)` 跳转到。
    `void` | `selectExtSubtitle(int trackIndex, boolean select)` 选择外挂字幕
    `void` | `selectTrack(int trackInfoIndex)` 选择播放的流。
    `void` | `selectTrack(int trackInfoIndex, boolean accurate)` 选择播放的流。
    `void` | `sendCustomEvent(java.lang.String args)` 发送用户自定义事件，将通过`IPlayer.OnReportEventListener` 回调。
    `void` | `setAutoPlay(boolean on)` 设置自动播放。
    `void` | `setCacheConfig(CacheConfig cacheConfig)` 设置缓存配置
    `void` | `setConfig(PlayerConfig config)` 设置播放器配置。
    `void` | `setDefaultBandWidth(int bandWidth)` 设置多码率时默认播放的码率。
    `void` | `setDisplay(android.view.SurfaceHolder holder)` 设置播放的SurfaceHolder。
    `void` | `setDisplayView(AliDisplayView view)`
    `void` | `setDrmCallback(DrmCallback callback)` 设置drm的请求回调。
    `void` | `setFastStart(boolean open)` 设置快速播放。
    `void` | `setFilterConfig(FilterConfig filterConfig)` 设置滤镜配置。
    `void` | `setFilterInvalid(java.lang.String target, boolean invalid)` 开启关闭滤镜.
    `void` | `setIPResolveType(IPlayer.IPResolveType type)` 设置网络ip解析类型
    `void` | `setLoop(boolean on)` 设置循环播放。
    `void` | `setMaxAccurateSeekDelta(int delta)` 设置精准seek的最大间隔。
    `void` | `setMirrorMode(IPlayer.MirrorMode mirrorMode)` 设置镜像模式
    `void` | `setMute(boolean on)` 设置静音
    `void` | `setOnChooseTrackIndexListener(IPlayer.OnChooseTrackIndexListener l)` 设置播放索引选择回调
    `void` | `setOnCompletionListener(IPlayer.OnCompletionListener l)` 设置播放完成通知.注意：循环播放不会发出此通知。
    `void` | `setOnErrorListener(IPlayer.OnErrorListener l)` 设置出错通知
    `void` | `setOnInfoListener(IPlayer.OnInfoListener l)` 设置信息监听
    `void` | `setOnLoadingStatusListener(IPlayer.OnLoadingStatusListener l)` 设置加载状态通知。
    `void` | `setOnPreparedListener(IPlayer.OnPreparedListener l)` 设置准备成功通知。
    `void` | `setOnPreRenderFrameCallback(IPlayer.OnPreRenderFrameCallback callback)` 设置预渲染帧回调.
    `void` | `setOnRenderFrameCallback(IPlayer.OnRenderFrameCallback callback)` 设置渲染帧回调
    `void` | `setOnRenderingStartListener(IPlayer.OnRenderingStartListener l)` 设置渲染开始通知。
    `void` | `setOnReportEventListener(IPlayer.OnReportEventListener onReportEventListener)` 设置上报事件参数监听
    `void` | `setOnSeekCompleteListener(IPlayer.OnSeekCompleteListener l)` 设置拖动完成通知
    `void` | `setOnSeiDataListener(IPlayer.OnSeiDataListener l)` 设置SEI数据的监听回调
    `void` | `setOnSnapShotListener(IPlayer.OnSnapShotListener l)` 截图结果监听
    `void` | `setOnStateChangedListener(IPlayer.OnStateChangedListener l)` 设置播放器状态变化通知
    `void` | `setOnSubtitleDisplayListener(IPlayer.OnSubtitleDisplayListener l)` 设置字幕显示通知
    `void` | `setOnTrackChangedListener(IPlayer.OnTrackChangedListener l)` 设置流变化通知
    `void` | `setOnTrackReadyListener(IPlayer.OnTrackReadyListener l)` 设置流准备完成通知
    `void` | `setOnVideoRenderedListener(IPlayer.OnVideoRenderedListener l)` 设置视频渲染回调
    `void` | `setOnVideoSizeChangedListener(IPlayer.OnVideoSizeChangedListener l)` 设置视频宽高变化通知
    `void` | `setPreferPlayerName(java.lang.String name)` 设置播放时选择的播放器名字。
    `void` | `setRenderFrameCallbackConfig(IPlayer.RenderFrameCallbackConfig config)` 设置渲染帧回调配置
    `void` | `setRotateMode(IPlayer.RotateMode rotateMode)` 设置画面旋转模式
    `void` | `setScaleMode(IPlayer.ScaleMode scaleMode)` 设置画面缩放模式
    `void` | `setSpeed(float speed)` 设置倍数播放。
    `void` | `setStreamDelayTime(int index, int time)` 设置某路流相对于主时钟的延时时间，默认是0, 目前只支持外挂字幕
    `void` | `setSurface(android.view.Surface surface)` 设置播放的surface。
    `void` | `setTraceId(java.lang.String traceId)` 设置traceId 便于跟踪日志。
    `void` | `setVideoBackgroundColor(int color)` 设置视频的背景色
    `void` | `setVideoTag(int[] tags)` 设置视频标签。
    `void` | `setVolume(float gain)` 设置音量（非系统音量），范围0.0~2.0，当音量大于1.0时，可能出现噪音，不推荐使用。
    `void` | `snapshot()` 截取当前画面.截图结果通过`IPlayer.OnSnapShotListener`回调。
    `void` | `start()` 开始播放。
    `void` | `stop()` 停止播放
    `void` | `surfaceChanged()` surface画面变化。
    `void` | `updateFilterConfig(java.lang.String target, FilterConfig.FilterOptions options)` 更新滤镜配置

- - ### 字段详细资料

    - #### unknow

          static final int unknow

      未知状态
      另请参阅:
        常量字段值

    - #### idle

          static final int idle

      空状态。刚创建出来的状态。
      另请参阅:
        常量字段值

    - #### initalized

          static final int initalized

      初始化了的状态，设置播放源之后的状态
      另请参阅:
        常量字段值

    - #### prepared

          static final int prepared

      准备成功的状态
      另请参阅:
        常量字段值

    - #### started

          static final int started

      正在播放的状态
      另请参阅:
        常量字段值

    - #### paused

          static final int paused

      播放已暂停的状态
      另请参阅:
        常量字段值

    - #### stopped

          static final int stopped

      播放已停止的状态
      另请参阅:
        常量字段值

    - #### completion

          static final int completion

      播放完成状态
      另请参阅:
        常量字段值

    - #### error

          static final int error

      出错状态
      另请参阅:
        常量字段值

  - ### 方法详细资料

    - #### selectTrack

          void selectTrack(int trackInfoIndex)

      选择播放的流。选择成功与否的结果通过`IPlayer.OnTrackChangedListener`回调。

      注意：自动切换码率与其他Track的选择是互斥的。选择其他Track之后，自动切换码率就失效，不起作用了。

      参数:
        `trackInfoIndex` - 流信息。见`TrackInfo.getIndex()`。 如果需要自动切换码率，则传递`TrackInfo.AUTO_SELECT_INDEX`.

    - #### selectTrack

          void selectTrack(int trackInfoIndex,
                           boolean accurate)

      选择播放的流。选择成功与否的结果通过`IPlayer.OnTrackChangedListener`回调。

      注意：自动切换码率与其他Track的选择是互斥的。选择其他Track之后，自动切换码率就失效，不起作用了。

      参数:
        `trackInfoIndex` - 流信息。见`TrackInfo.getIndex()`。 如果需要自动切换码率，则传递`TrackInfo.AUTO_SELECT_INDEX`.
        `accurate` - 是否精准跳转。

    - #### currentTrack

          @Deprecated
          TrackInfo currentTrack(int type)

      已过时。
      根据type获取当前播放的流。从4.7.1开始使用currentTrack(TrackInfo.Type)代替
      参数:
        `type` - 类型。见`TrackInfo.Type` .ordinal()
      返回:
        当前播放的流。如果没有，则返回null。

    - #### currentTrack

          TrackInfo currentTrack(TrackInfo.Type type)

      根据type获取当前播放的流。
      参数:
        `type` - 类型。见`TrackInfo.Type`
      返回:
        当前播放的流。如果没有，则返回null。

    - #### getDuration

          long getDuration()

      获取总时长。
      返回:
        总时长。单位ms。

    - #### getMediaInfo

          MediaInfo getMediaInfo()

      获取媒体信息。注意：只有在`IPlayer.OnPreparedListener.onPrepared()`回调之后获取才能正确。
      返回:
        媒体信息。见`MediaInfo`。

    - #### getVideoWidth

          int getVideoWidth()

      获取视频宽度
      返回:
        视频宽度

    - #### getVideoHeight

          int getVideoHeight()

      获取视频高度
      返回:
        视频高度

    - #### getVideoRotation

          int getVideoRotation()

      获取视频旋转角度
      返回:
        视频旋转角度

    - #### setCacheConfig

          void setCacheConfig(CacheConfig cacheConfig)

      设置缓存配置
      参数:
        `cacheConfig` - 缓存配置。见`CacheConfig`。

    - #### setTraceId

          void setTraceId(java.lang.String traceId)

      设置traceId 便于跟踪日志。
      参数:
        `traceId` - traceId

    - #### setVolume

          void setVolume(float gain)

      设置音量（非系统音量），范围0.0~2.0，当音量大于1.0时，可能出现噪音，不推荐使用。
      参数:
        `gain` - 范围[0,1]

    - #### getVolume

          float getVolume()

      获取音量。
      返回:
        范围[0, 1]

    - #### setMute

          void setMute(boolean on)

      设置静音
      参数:
        `on` - true:静音。默认false。

    - #### isMute

          boolean isMute()

      Query whether the player is muted.
      返回:
        Value true indicates that the player is muted. Default: false.

    - #### setLoop

          void setLoop(boolean on)

      设置循环播放。如果本地有了缓存，那么下次循环播放则播放本地文件。
      参数:
        `on` - true：开启循环播放。默认关闭。

    - #### isLoop

          boolean isLoop()

      是否循环播放
      返回:
        true：开启了循环播放。默认关闭。

    - #### setAutoPlay

          void setAutoPlay(boolean on)

      设置自动播放。如果是自动播放，则接受不到`IPlayer.OnPreparedListener`回调。
      参数:
        `on` - true：是。默认否。

    - #### isAutoPlay

          boolean isAutoPlay()

      是否自动播放。
      返回:
        true：是。默认否。

    - #### setSpeed

          void setSpeed(float speed)

      设置倍数播放。
      参数:
        `speed` - 范围[0.5,2]

    - #### getSpeed

          float getSpeed()

      获取倍数播放值。
      返回:
        倍数播放值。范围[0.5,2]

    - #### setMirrorMode

          void setMirrorMode(IPlayer.MirrorMode mirrorMode)

      设置镜像模式
      参数:
        `mirrorMode` - 镜像模式。 见`IPlayer.MirrorMode`。

    - #### getMirrorMode

          IPlayer.MirrorMode getMirrorMode()

      获取当前镜像模式。
      返回:
        镜像模式。 见`IPlayer.MirrorMode`。

    - #### setRotateMode

          void setRotateMode(IPlayer.RotateMode rotateMode)

      设置画面旋转模式
      参数:
        `rotateMode` - 旋转模式。见`IPlayer.RotateMode`

    - #### getRotateMode

          IPlayer.RotateMode getRotateMode()

      获取画面旋转模式
      返回:
        旋转模式。见`IPlayer.RotateMode`

    - #### setScaleMode

          void setScaleMode(IPlayer.ScaleMode scaleMode)

      设置画面缩放模式
      参数:
        `scaleMode` - 缩放模式。默认`IPlayer.ScaleMode.SCALE_TO_FILL`. 见`IPlayer.ScaleMode`。

    - #### getScaleMode

          IPlayer.ScaleMode getScaleMode()

      获取画面缩放模式
      返回:
        缩放模式。默认`IPlayer.ScaleMode.SCALE_TO_FILL`.

    - #### snapshot

          void snapshot()

      截取当前画面.截图结果通过`IPlayer.OnSnapShotListener`回调。

    - #### setSurface

          void setSurface(android.view.Surface surface)

      设置播放的surface。注意:画面变化时也需要设置。销毁时需设置为null。
      参数:
        `surface` - surface。

    - #### setDisplay

          void setDisplay(android.view.SurfaceHolder holder)

      设置播放的SurfaceHolder。注意:画面变化时也需要设置。销毁时需设置为null。
      参数:
        `holder` - SurfaceHolder。

    - #### setDisplayView

          void setDisplayView(AliDisplayView view)

    - #### surfaceChanged

          void surfaceChanged()

      surface画面变化。

    - #### prepare

          void prepare()

      准备。成功结果通过`IPlayer.OnPreparedListener`回调，或者失败`IPlayer.OnErrorListener`

    - #### start

          void start()

      开始播放。

    - #### pause

          void pause()

      暂停播放

    - #### stop

          void stop()

      停止播放

    - #### seekTo

          void seekTo(long position)

      跳转到。不精准。
      参数:
        `position` - 位置。单位毫秒。

    - #### seekTo

          void seekTo(long position,
                      IPlayer.SeekMode seekMode)

      跳转到。
      参数:
        `position` - 位置。单位毫秒。
        `seekMode` - seek模式。见`IPlayer.SeekMode`。

    - #### setMaxAccurateSeekDelta

          void setMaxAccurateSeekDelta(int delta)

      设置精准seek的最大间隔。
      参数:
        `delta` - 间隔时间，单位毫秒

    - #### reset

          void reset()

      重置。

    - #### release

          void release()

      释放。

    - #### redraw

          @Deprecated
          void redraw()

      已过时。
      刷新一帧画面。在surface的大小变化的时候，可保留最后一帧。

    - #### clearScreen

          void clearScreen()

      清空画面。在SurfaceTexture重用时，可以清除之前的画面

    - #### setOnPreparedListener

          void setOnPreparedListener(IPlayer.OnPreparedListener l)

      设置准备成功通知。如果失败，则会通知`IPlayer.OnErrorListener`。
      参数:
        `l` - 准备成功通知

    - #### setOnRenderingStartListener

          void setOnRenderingStartListener(IPlayer.OnRenderingStartListener l)

      设置渲染开始通知。可以监听首帧显示事件等，用于隐藏封面等功能。
      参数:
        `l` - 渲染开始通知。

    - #### setOnStateChangedListener

          void setOnStateChangedListener(IPlayer.OnStateChangedListener l)

      设置播放器状态变化通知
      参数:
        `l` - 播放器状态变化通知

    - #### setOnCompletionListener

          void setOnCompletionListener(IPlayer.OnCompletionListener l)

      设置播放完成通知.注意：循环播放不会发出此通知。
      参数:
        `l` - 播放完成通知.

    - #### setOnLoadingStatusListener

          void setOnLoadingStatusListener(IPlayer.OnLoadingStatusListener l)

      设置加载状态通知。
      参数:
        `l` - 加载状态通知

    - #### setOnErrorListener

          void setOnErrorListener(IPlayer.OnErrorListener l)

      设置出错通知
      参数:
        `l` - 出错通知

    - #### setOnChooseTrackIndexListener

          void setOnChooseTrackIndexListener(IPlayer.OnChooseTrackIndexListener l)

      设置播放索引选择回调
      参数:
        `l` - 回调。见IPlayer.OnChooseTrackIndexListener

    - #### setOnTrackReadyListener

          void setOnTrackReadyListener(IPlayer.OnTrackReadyListener l)

      设置流准备完成通知
      参数:
        `l` - 流准备完成通知

    - #### setOnInfoListener

          void setOnInfoListener(IPlayer.OnInfoListener l)

      设置信息监听
      参数:
        `l` - 信息监听

    - #### setOnVideoSizeChangedListener

          void setOnVideoSizeChangedListener(IPlayer.OnVideoSizeChangedListener l)

      设置视频宽高变化通知
      参数:
        `l` - 视频宽高变化通知

    - #### setOnSeekCompleteListener

          void setOnSeekCompleteListener(IPlayer.OnSeekCompleteListener l)

      设置拖动完成通知
      参数:
        `l` - 拖动完成通知

    - #### setOnTrackChangedListener

          void setOnTrackChangedListener(IPlayer.OnTrackChangedListener l)

      设置流变化通知
      参数:
        `l` - 流变化通知

    - #### setOnSeiDataListener

          void setOnSeiDataListener(IPlayer.OnSeiDataListener l)

      设置SEI数据的监听回调
      参数:
        `l` - SEI数据的监听回调

    - #### addExtSubtitle

          void addExtSubtitle(java.lang.String url)

      添加外挂字幕
      参数:
        `url` - 字幕地址

    - #### selectExtSubtitle

          void selectExtSubtitle(int trackIndex,
                                 boolean select)

      选择外挂字幕
      参数:
        `trackIndex` - 字幕索引
        `select` - true：选择，false：关闭

    - #### setStreamDelayTime

          void setStreamDelayTime(int index,
                                  int time)

      设置某路流相对于主时钟的延时时间，默认是0, 目前只支持外挂字幕
      参数:
        `index` - 流的索引
        `time` - 延时，单位毫秒

    - #### setOnSubtitleDisplayListener

          void setOnSubtitleDisplayListener(IPlayer.OnSubtitleDisplayListener l)

      设置字幕显示通知
      参数:
        `l` - 字幕显示通知

    - #### setConfig

          void setConfig(PlayerConfig config)

      设置播放器配置。
      参数:
        `config` - 播放器配置。见`PlayerConfig`

    - #### getConfig

          PlayerConfig getConfig()

      获取播放器配置
      返回:
        播放器配置

    - #### setOnSnapShotListener

          void setOnSnapShotListener(IPlayer.OnSnapShotListener l)

      截图结果监听
      参数:
        `l` - 截图结果事件

    - #### enableHardwareDecoder

          void enableHardwareDecoder(boolean enable)

      是否启用硬解码
      参数:
        `enable` - true:启用。false:关闭。

    - #### getCacheFilePath

          java.lang.String getCacheFilePath(java.lang.String URL)

      根据url获取缓存的文件名。必须先调用setCacheConfig才能获取到。
      参数:
        `URL` - URL
      返回:
        最终缓存的文件绝对路径。

    - #### getCacheFilePath

          java.lang.String getCacheFilePath(java.lang.String vid,
                                            java.lang.String format,
                                            java.lang.String definition,
                                            int previewTime)

      根据vid 获取缓存的文件名。必须先调用setCacheConfig才能获取到。
      参数:
        `vid` - 视频id
        `format` - 视频格式
        `definition` - 视频清晰度
        `previewTime` - 试看时长
      返回:
        最终缓存的文件绝对路径。

    - #### reload

          void reload()

      重新加载。比如网络超时时，可以重新加载。

    - #### getPropertyString

          java.lang.String getPropertyString(IPlayer.PropertyKey key)

      根据key获取相应的信息。
      参数:
        `key` - 关键字枚举值
      返回:
        相应信息（找不到相应信息返回空字符串）。

    - #### setDefaultBandWidth

          void setDefaultBandWidth(int bandWidth)

      设置多码率时默认播放的码率。将会选择与之最接近的一路流播放。
      参数:
        `bandWidth` - 播放的码率。

    - #### getOption

          java.lang.Object getOption(IPlayer.Option key)

      获取播放器的选项参数
      参数:
        `key` - 参数值。见IPlayer.Option
      返回:

    - #### setOnVideoRenderedListener

          void setOnVideoRenderedListener(IPlayer.OnVideoRenderedListener l)

      设置视频渲染回调
      参数:
        `l` - 视频渲染回调。见IPlayer.OnVideoRenderedListener

    - #### setVideoBackgroundColor

          void setVideoBackgroundColor(int color)

      设置视频的背景色
      参数:
        `color` - ARGB

    - #### setIPResolveType

          void setIPResolveType(IPlayer.IPResolveType type)

      设置网络ip解析类型
      参数:
        `type` - 见 `IPlayer.IPResolveType`

    - #### setFastStart

          void setFastStart(boolean open)

      设置快速播放。
      参数:
        `open` -

    - #### setOnReportEventListener

          void setOnReportEventListener(IPlayer.OnReportEventListener onReportEventListener)

      设置上报事件参数监听
      参数:
        `onReportEventListener` - 上报事件参数

    - #### setDrmCallback

          void setDrmCallback(DrmCallback callback)

      设置drm的请求回调。目前支持wideVine。
      参数:
        `callback` - 请求回调

    - #### sendCustomEvent

          void sendCustomEvent(java.lang.String args)

      发送用户自定义事件，将通过`IPlayer.OnReportEventListener` 回调。用户自定义事件 e = 5001。args为传入的参数。
      参数:
        `args` -

    - #### setVideoTag

          void setVideoTag(int[] tags)

      设置视频标签。值范围为[0,99]。
      参数:
        `tags` -

    - #### setPreferPlayerName

          void setPreferPlayerName(java.lang.String name)

      设置播放时选择的播放器名字。
      参数:
        `name` -

    - #### getPlayerName

          java.lang.String getPlayerName()

      获取播放时使用的播放器名字
      返回:

    - #### setRenderFrameCallbackConfig

          void setRenderFrameCallbackConfig(IPlayer.RenderFrameCallbackConfig config)

      设置渲染帧回调配置
      参数:
        `config` - 见 IPlayer.RenderFrameCallbackConfig

    - #### setOnRenderFrameCallback

          void setOnRenderFrameCallback(IPlayer.OnRenderFrameCallback callback)

      设置渲染帧回调
      参数:
        `callback` - 见 IPlayer.OnRenderFrameCallback

    - #### setFilterConfig

          void setFilterConfig(FilterConfig filterConfig)

      设置滤镜配置。在prepare之前调用此方法。如果想更新，调用updateFilterConfig()
      参数:
        `filterConfig` -

    - #### updateFilterConfig

          void updateFilterConfig(java.lang.String target,
                                  FilterConfig.FilterOptions options)

      更新滤镜配置
      参数:
        `target` -
        `options` -

    - #### setFilterInvalid

          void setFilterInvalid(java.lang.String target,
                                boolean invalid)

      开启关闭滤镜.
      参数:
        `target` - 如果为空，则对所有滤镜生效
        `invalid` - true: 开启; false: 关闭

    - #### setOnPreRenderFrameCallback

          void setOnPreRenderFrameCallback(IPlayer.OnPreRenderFrameCallback callback)

      设置预渲染帧回调.
      参数:
        `callback` - 见 IPlayer.OnPreRenderFrameCallback

    - #### getNativeContextAddr

          long getNativeContextAddr()