海康SDK 回调函数中取到的码流数据如何转发至前台页面播放
回调函数如下:
class FRealDataCallBack implements HCNetSDK.FRealDataCallBack_V30
{
//预览回调
public void invoke(NativeLong lRealHandle, int dwDataType, ByteByReference pBuffer, int dwBufSize, Pointer pUser)
{
HWND hwnd =hwand;
switch (dwDataType)
{
case HCNetSDK.NET_DVR_SYSHEAD: //系统头
if (!playControl.PlayM4_GetPort(m_lPort)) //获取播放库未使用的通道号
{
break;
}
if (dwBufSize > 0)
{
if (!playControl.PlayM4_SetStreamOpenMode(m_lPort.getValue(), PlayCtrl.STREAME_REALTIME)) //设置实时流播放模式
{
break;
}
if (!playControl.PlayM4_OpenStream(m_lPort.getValue(), pBuffer, dwBufSize, 1024 * 1024)) //打开流接口
{
break;
}
if (!playControl.PlayM4_Play(m_lPort.getValue(), hwnd)) //播放开始
{
break;
}
}
case HCNetSDK.NET_DVR_STREAMDATA: //码流数据
if ((dwBufSize > 0) && (m_lPort.getValue().intValue() != -1))
{
if (!playControl.PlayM4_InputData(m_lPort.getValue(), pBuffer, dwBufSize)) //输入流数据
{
break;
}
}
}
}
pBuffer中存储的码流数据如何转发