Tange Cloud for Device
 Rev.345
载入中...
搜索中...
未找到
SD卡回放的时间同步

SD卡回放时,APP会在时间轴上实时更新当前播放的时间。为使这个显示时间正确,设备至少应该在以下情形,向app报告下一帧数据的真实时间:

  • 收到PLAY_START命令,执行了文件定位,开始发送数据时
  • 当前文件播放结束,自动跑步到下一个文件开始播放时
  • 其它原因导致时间戳不连续,app无法推算帧的正确发生时间时

报告方式为,设备向app发送一个帧, codec_idframe_size都为0, timestamp 为下一个音频或视频帧的真实utc时间

/* Audio/Video Frame Header Info */
typedef struct _FRAMEINFO
{
unsigned short codec_id; // 0
unsigned char flags; // 0
unsigned char cam_index; // 0
unsigned char onlineNum; // 0
unsigned char reserve1[3]; // 0
unsigned int frame_size; // 0
unsigned int timestamp; // utc time
} FRAMEINFO_t;

设备端可以调用 TciSendPbSyncFrame() 来发送这个帧. 它被定义为一个宏

SD卡回放事件类型

LISTEVENT_REQ命令返回的列表项,SAvEvent的event域取值定义如下(在ec_const.h里定义):

typedef enum {
ECEVENT_GENERIC_SENSOR, //通用传感器类消息
...
ECEVENT_MAX
ECEVENT
上报事件类型.
@ ECEVENT_HUMAN_BODY
[body] human body is detected (=2)
@ ECEVENT_SOUND
[sound] (=3)
@ ECEVENT_SMOKE
[smoke] (=5)
@ ECEVENT_TEMPERATURE_L
[tempL] temperature low(=6). 参数: MKEVTDATA_Temperatur()
@ ECEVENT_PIR
[pir](=4)
@ ECEVENT_NONE
[] none
@ ECEVENT_HUMIDITY_H
[humidH] humidity high(=9). 参数: MKEVTDATA_Humidity()
@ ECEVENT_MOTION_DETECTED
[motion] is detected (=1)
@ ECEVENT_TEMPERATURE_H
[tempH] temperature high(=7). 参数: MKEVTDATA_Temperatur()
@ ECEVENT_GENERIC_SENSOR
[generic] 通用传感器类消息 (=10)
@ ECEVENT_HUMIDITY_L
[humidL] humidity low(=8). 参数: MKEVTDATA_Humidity()