播放器 API 参考
更新时间: 2024/08/07 10:36:47
有关API的详细说明,可参见下方的链接,点开即可。
播放器 Android SDK API 文档详见API文档
接口说明
类别 | API名称 | 功能 |
---|---|---|
创建播放实例 | create | 使用Context创建播放器实例 |
销毁播放实例 | release | 释放播放器实例的所有资源 |
设置缓冲策略 | setBufferStrategy | 设置缓冲策略, 在prepareAsync前调用 |
设置解码模式 | setHardwareDecoder | 设置是否开启硬件解码, 在prepaerAsync前调用 |
设置是否自动播放 | setShouldAutoplay | 设置prepareAsync完成后是否自动播放,若设置成false,需要手动调用start()进行播放, 在prepareAsync前调用 |
设置用于显示的surfaceView | setDisplay | 设置显示用的surfaceView,在prepareAsync前调用 |
设置用于显示的surface | setSurface | 设置用于显示的surface,可以是surfaceView和TextureView |
设置播放地址 | setDataSource | 设置播放地址,在prepareAsync前调用 |
获取播放地址 | getDataSource | 获取设置的源文件路径 |
设置自动重试信息 | setAutoRetryConfig | 设置自动重试信息 |
播放预处理 | prepareAsync | 预处理播放器,为播放做准备,适用于非加密视频 |
播放预处理 | prepareAsyncWithDecryptionToken | 预处理播放器,为播放做准备,适用于使用解密相关信息解密的视频的预处理 |
播放预处理 | prepareAsyncWithDecryptionKey | 预处理播放器,为播放做准备,适用于使用解密密钥息解密的视频的预处理 |
获取媒体信息 | getMediaInfo | 获取媒体信息,包括解码器类型,码流格式等, 需要在收到onPrepare的通知后调用 |
设置是否精确seek | setAccurateSeek | 设置是否精确seek |
设置静音 | setMute | 设置是否静音 |
设置镜像 | setMirror | 该接口只支持软解,如需硬解镜像请使用TextureView的setScaleX |
截图 | getSnapshot | 截图功能仅在软件解码条件下支持,硬件解码不支持, 需要在收到onPrepare的通知后调用 |
获取版本号 | getVersion | 获取播放器的版本号 |
开始播放 | start | 开始播放,或者暂停后恢复播放 |
停止播放 | stop | 停止播放 |
暂停播放 | pause | 暂停播放,只适用于在点播时调用,不支持直播 |
复位播放实例 | reset | 复位播放器至未初始化状态 |
获取视频的宽度 | getVideoWidth | 获取视频的宽度, 需要在收到onPrepare的通知后调用 |
获取视频的高度 | getVideoHeight | 获取视频的高度, 需要在收到onPrepare的通知后调用 |
获取播放状态 | isPlaying | 检测是否正在播放 |
设置到指定时间点播放 | seekTo | 设置到指定时间点播放,需要在收到onPrepare的通知后调用,只适用于点播 |
获取当前播放位置的时间点 | getCurrentPosition | 获取当前播放位置的时间点 单位: ms, 需要在收到onPrepare的通知后调用 |
获取多媒体文件总时长 | getDuration | 获取多媒体文件总时长,只适用于点播 单位: ms, 需要在收到onPrepare的通知后调用 |
获取当前已缓存位置的时间点 | getPlayableDuration | 获取当前已缓存位置的时间点 单位:ms, 需要在收到onPrepare的通知后调用 |
设置音量 | setVolume | 设置音量(0.0 ~ 1.0, 0.0为静音,1.0为最大) |
设置循环播放 | 设置循环播放(0,不循环;-1无限循环;1循环一次,2循环两次,以此类推) | |
获取是否循环播放 | 获取是否循环播放 | |
设置循环播放 | setLoopCount | 设置循环播放次数(0: 不循环;-1: 无限循环;1: 循环一次,2: 循环两次,以此类推) |
获取循环次数 | getLoopCount | 获取是循环播放次数 |
设置播放速度 | setPlaybackSpeed | 设置播放速度,只适用于点播 |
设置拉流超时时间 | setPlaybackTimeout | 设置拉流超时时间 单位: 秒, 需要在设置播放路径接口后调用 |
设置点播时本地外挂字幕文件 | setSubtitleFile | 设置点播时本地外挂字幕文件路径 |
切换播放地址 | switchContentUrl | 播放过程中切换播放地址,适用于非加密视频 |
切换播放地址 | switchContentUrlWithDecryptionToken | 播放过程中使用解密信息切换加密播放地址 |
切换播放地址 | switchContentUrlWithDecryptionKey | 播放过程中使用解密密钥切换加密播放地址 |
获取音轨信息 | getAudioTracksInfo | 获取当前播放媒体的音轨信息,需要在prepare完成后调用 |
获取音轨序号 | getSelectedAudioTrack | 获取当前选择的音轨序号,需要在prepare完成后调用 |
切换音轨 | setSelectedAudioTrack | 切换音轨,需要在prepare完成后调用 |
设置是否开启同步回调 | setSyncOpen | 设置是否开启同步时间戳、同步内容信息回调 |
获取播放实时数据 | getMediaRealTimeInfo | 获取播放实时数据 |
获取正在播放的时间戳 | getCurrentRealTime | 获取正在播放的时间戳 |
获取正在播放的同步时间戳 | getCurrentSyncTimestamp | 获取正在播放的同步时间戳 |
设置当前正在播放的时间戳回调 | setOnCurrentRealTimeListener | 设置当前正在播放的时间戳回调 |
设置当前正在播放的同步时间戳回调 | setOnCurrentSyncTimestampListener | 设置当前正在播放的同步时间戳回调 |
设置自定义信息回调 | setOnCurrentSyncContentListener | 设置当前正在播放的音视频流里附带的内容信息回调 |
设置视频帧数据的回调 | setOnVideoFrameFilterListener | 注册获取视频帧数据的回调,用户需要实现回调函数OnVideoFrameFilterListener来接收视频帧 |
设置音频回调数据的参数 | setAudioPcmDataConfig | 配置PCM回调数据的参数信息,需要在prepare前调用 |
设置音频帧数据的回调 | setOnAudioFrameFilterListener | 注册获取音频帧数据的回调,用户需要实现回调函数OnAudioFrameFilterListener来接收音频帧 |
设置预处理完成的监听器 | setOnPreparedListener | 设置预处理完成的监听器,在视频预处理完成后回调 |
设置视频播放完成的监听器 | setOnCompletionListener | 设置视频播放完成的监听器,在视频播放完成后调用,视频播放完成后会回调onCompletion或者onError |
设置缓存变化的监听器 | setOnBufferingUpdateListener | 设置缓存变化的监听器,在网络视频流缓存变化时调用 |
设置指定时间点播放的监听器 | setOnSeekCompleteListener | 设置指定时间点播放的监听器,在调用seekTo操作设置到指定时间点播放完成时调用 |
设置视频大小变化的监听器 | setOnVideoSizeChangedListener | 设置视频大小变化的监听器,在视频大小发生变化时调用 |
设置播放错误的监听器 | setOnErrorListener | 设置播放错误的监听器,在播放发生错误时调用,收到回调时可以进行播放重试或者提示播放错误等操作 |
设置状态变化的监听器 | setOnInfoListener | 设置状态变化的监听器,在有状态变化时调用 |
设置字幕回调结果的监听器 | setOnSubtitleListener | 设置字幕回调结果的监听器,在字幕信息变化时调用 |
添加预调度拉流链接地址 | addPreloadUrls | 添加预调度拉流链接地址,添加后SDK会进行自动预调度处理,预调度结果会进行缓存 |
移除预调度拉流链接地址 | removePreloadUrls | 移除预调度拉流链接地址,从预调度结果缓存中删除该拉流地址相关预调度信息 |
查询预调度拉流链接地址的结果信息 | queryPreloadUrls | 查询预调度拉流链接地址的结果信息,查询预调度结果缓存中所有的预调度信息 |
总体参数说明
- 状态类型
参数 | 说明 |
---|---|
NELP_BUFFERING_START | 标识缓冲开始 |
NELP_BUFFERING_END | 标识缓冲结束 |
NELP_FIRST_VIDEO_RENDERED | 标识视频第一帧显示 |
NELP_FIRST_AUDIO_RENDERED | 标识音频第一帧显示 |
NELP_NET_STATE_BAD | 标识网络状态比较差 |
- 播放模式类型
参数 | 说明 |
---|---|
NELPTOPSPEED | 直播极速模式 |
NELPLOWDELAY | 直播低延时模式 |
NELPFLUENT | 直播流畅模式 |
NELPANTIJITTER | 点播抗抖动模式 |
NELPDELAYPULLUP | 直播延时追赶模式 |
- 密钥校验结果类型
参数 | 说明 |
---|---|
NELP_NO_ENCRYPTION | 密钥校验结果:视频未加密,可以进行下一步播放操作 |
NELP_ENCRYPTION_CHECK_OK | 密钥校验结果:密钥正确,SDK内部会自动进行prepare操作,可以进行下一步播放操作 |
NELP_ENCRYPTION_UNSUPPORT_PROTOCAL | 密钥校验结果:拉流协议不支持 |
NELP_ENCRYPTION_KEY_CHECK_ERROR | 密钥校验结果:密钥错误 |
NELP_ENCRYPTION_INPUT_INVALIED | 密钥校验结果:输入的地址无法播放 |
NELP_ENCRYPTION_GET_KEY_TIMEOUT | 密钥校验结果:获取密钥超时 |
NELP_ENCRYPTION_UNKNOWN_ERROR | 密钥校验结果:未知错误 |
- 播放器错误类型
参数 | 说明 |
---|---|
NELP_EN_HTTP_CONNECT_ERROR | HTTP连接失败 |
NELP_EN_RTMP_CONNECT_ERROR | RTMP连接失败 |
NELP_EN_STREAM_PARSE_ERROR | 解析失败 |
NELP_EN_BUFFERING_ERROR | 缓冲失败 |
NELP_EN_AUDIO_OPEN_ERROR | 音频相关操作初始化失败 |
NELP_EN_VIDEO_OPEN_ERROR | 视频相关操作初始化失败 |
NELP_EN_STREAM_IS_NULL | 没有音视频流 |
NELP_EN_AUDIO_DECODE_ERROR | 音频解码失败 |
NELP_EN_VIDEO_DECODE_ERROR | 视频解码失败 |
NELP_EN_AUDIO_RENDER_ERROR | 音频播放失败 |
NELP_EN_VIDEO_RENDER_ERROR | 视频播放失败 |
NELP_EN_UNKNOWN_ERROR | 未知错误 |
此文档是否对你有帮助?