12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package com.persagy.nvr;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import com.sun.jna.Pointer;
- import com.sun.jna.platform.win32.WinDef.LPVOID;
- import com.sun.jna.platform.win32.WinDef.UINT;
- public class DataPlayCallBackClass implements VskClient.DataPlayCallBack {
- Logger logger = LoggerFactory.getLogger(DataPlayCallBackClass.class);
- // interface DataPlayCallBack extends Callback {
- // void Callback(WinDef.UINT PlayHandle, WinDef.UINT DateType, byte[] pBuffer,
- // WinDef.UINT BufferSize, WinDef.LPVOID pUser);
- // }
- @Override
- public void Callback(UINT PlayHandle, int DateType, Pointer pBuffer, int BufferSize, LPVOID pUser) {
- // byte[] byteArr = pBuffer.getByteArray(0, BufferSize);
- // backByteBufferList.add(byteArr);
- logger.error("数据回调,byteArr。length:" + BufferSize + ",DateType:" + DateType+",线程ID:"+Thread.currentThread().getId());
- switch (DateType) {
- case 0:
- logger.error("********************************************系统头");
- break;
- case 2:
- logger.error("********************************************最后");
- break;
- default:
- break;
- }
- if(pBuffer!=null) {
- long size=Pointer.nativeValue(pBuffer);
- pBuffer.clear(size);
- }
- if(pUser!=null) {
- Pointer puser=pUser.getPointer();
- long size2=Pointer.nativeValue(puser);
- puser.clear(size2);
- }
- // try {
- // RandomAccessFile randomFile = new
- // RandomAccessFile("./config/tempVideo/a.mp4", "rw");
- // long fileLength = randomFile.length();
- // // 将写文件指针移到文件尾
- // randomFile.seek(fileLength);
- // randomFile.write(byteArr);
- // randomFile.close();
- // } catch (Exception e) {
- // logger.error("byteArr写入异常:",e);
- // }
- };
- }
|