LinkVisual Media SDK(Android) v2.7.0-ilop
Public Member Functions | List of all members
com.aliyun.iotx.linkvisual.media.player.listener.ILVPlayerListener Interface Reference

播放器监听器 More...

Public Member Functions

void onError (LVPlayerError error)
 
void onPlayerStateChange (LVPlayerState state)
 
void onRenderedFirstFrame (int elapsedTimeInMs)
 
void onVideoSizeChanged (int width, int height)
 
void onSeiInfoUpdate (byte[] buffer, int length, long timeStamp)
 
void onStandardSeiInfoUpdate (byte[] buffer, int length, long timeStamp)
 
void onVideoJitterBufferEmpty ()
 

Detailed Description

播放器监听器

Member Function Documentation

◆ onError()

void com.aliyun.iotx.linkvisual.media.player.listener.ILVPlayerListener.onError ( LVPlayerError  error)

播放器错误回调,该接口在创建播放器的线程中执行(如果有Looper,否则在主线程中执行)

Parameters
error错误信息

◆ onPlayerStateChange()

void com.aliyun.iotx.linkvisual.media.player.listener.ILVPlayerListener.onPlayerStateChange ( LVPlayerState  state)

播放器状态变更回调,该接口在创建播放器的线程中执行(如果有Looper,否则在主线程中执行)

Parameters
state播放器状态

◆ onRenderedFirstFrame()

void com.aliyun.iotx.linkvisual.media.player.listener.ILVPlayerListener.onRenderedFirstFrame ( int  elapsedTimeInMs)

播放器首帧显示回调,该接口在创建播放器的线程中执行(如果有Looper,否则在主线程中执行)

Parameters
elapsedTimeInMs首帧出图耗时,单位ms,相对于start()接口调用开始计时

◆ onSeiInfoUpdate()

void com.aliyun.iotx.linkvisual.media.player.listener.ILVPlayerListener.onSeiInfoUpdate ( byte[]  buffer,
int  length,
long  timeStamp 
)

播放器解析到码流中私有格式的SEI数据回调, 该回调在播放器内部线程中执行

Deprecated:
该格式与H264/H265中SEI帧格式定义不一致, 不再推荐使用, 请按照标准SEI格式来封装SEI帧, 并及时将设备进行更新, 该接口将会在未来的版本中移除, 请用onSeiInfoUpdate(boolean, byte[], int, long)替代 LV SEI MESSAGE ┌────────────┬────────────┬────────────┬────────────┐ │00 00 01 06 │39 39 38 38 │xx xx xx xx │xx xx .. xx │ └────────────┴────────────┴────────────┴────────────┘ H264 SEI TAG VALUE LENGTH VALUE ┌────────────┬────────────┬────────────┬────────────┐ │00 00 01 50 │39 39 38 38 │xx xx xx xx │xx xx .. xx │ └────────────┴────────────┴────────────┴────────────┘ H265 SEI TAG VALUE LENGTH VALUE
  1. H264/H265的SEI帧头不同,H264为: 0x00 0x00 0x01 0x06, H265为:0x00 0x00 0x01 0x50;
  2. SEI帧头后跟固定4字节TAG:0x39 0x39 0x38 0x38; TAG的字符描述为"9988";
  3. TAG后跟4字节长度信息: VALUE LENGTH(低字节在前) sei_message[8] = value_length & 0xff; sei_message[9] = (value_length & 0xffff)>>8; sei_message[10] = (value_length & 0xffffff)>>16; sei_message[11] = value_length >> 24;
  4. value为扩展的自定义信息内容, 注意:需要保证内容中不会出现NAL unit header.
Parameters
bufferVALUE内容的二进制数据
lengthVALUE内容的数据长度
timeStamp数据帧时间戳, 单位ms

◆ onStandardSeiInfoUpdate()

void com.aliyun.iotx.linkvisual.media.player.listener.ILVPlayerListener.onStandardSeiInfoUpdate ( byte[]  buffer,
int  length,
long  timeStamp 
)

播放器解析到码流中标准格式的SEI数据回调, 该回调在播放器内部线程中执行

Parameters
bufferSEI二进制数据, 为整个SEI的NAL unit, 不包括NAL start code(0x00 0x00 0x01|0x00 0x00 0x00 0x01)
length数据长度为NAL unit的大小, 不包括NAL start code
timeStamptimeStamp 数据帧时间戳,单位ms

◆ onVideoJitterBufferEmpty()

void com.aliyun.iotx.linkvisual.media.player.listener.ILVPlayerListener.onVideoJitterBufferEmpty ( )

播放器缓冲区中持续一段时间无数据后回调该方法,一般由网络不稳定引起,可考虑提示降低清晰度,该接口在创建播放器的线程中执行(如果有Looper,否则在主线程中执行)

◆ onVideoSizeChanged()

void com.aliyun.iotx.linkvisual.media.player.listener.ILVPlayerListener.onVideoSizeChanged ( int  width,
int  height 
)

播放器视频大小宽高变化回调,该接口在创建播放器的线程中执行(如果有Looper,否则在主线程中执行)

Parameters
width宽值像素点
height高值像素点