starwar3 2017-08-25 09:43 采纳率: 0%
浏览 1058
已结题

怎么实现interface回调。

3.5.3 实时预览 NET_DVR_RealPlay_V40
函 数: public int NET_DVR_RealPlay_V40(int lUserID, NET_DVR_PREVIEWINFO previewInfo, RealPlayCallBack
CallBack)
参 数: [in] lUserID NET_DVR_Login_V30 的返回值
[in] previewInfo 预览参数,包括码流类型、取流协议、通道号等
[in] CallBack 码流数据回调函数
public interface RealPlayCallBack {
public void fRealDataCallBack(int iRealHandle, int iDataType, byte[] pDataBuffer, int iDataSize);
}
[out] iRealHandle 当前的预览句柄
[out] iDataType 数据类型
[out] pDataBuffer 存放数据的缓冲区指针
[out] iDataSize 缓冲区大小

返回值: -1 表示失败,其他值作为 NET_DVR_StopRealPlay 等函数的句柄参数。接口返回失败请调用
NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
说 明:
通过该接口设置实时流回调函数获取实时流音视频数据,然后可以通过播放库进行解码显示。

---------------------------------------以上是sdk说明
遇到的问题是:我现在lUserID和previewInfo参数都没问题了,就是这个回调的接口作为参数输入不知道怎么实现。
我现在实现的方法是:

    public class PlayCallBack : RealPlayCallBack
    {
        public IntPtr Handle
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        public void Dispose()
        {
            throw new NotImplementedException();
        }

        public void FRealDataCallBack(int p0, int p1, byte[] p2, int p3)
        {
            //回调取到数据 调用SDK执行Input操作

            //执行的代码
        }
    }

然后实例化PlayCallBack playback=new PlayCallBack();
用playback作为参数输入的,但是调试的时候断点一直就没执行过FRealDataCallBack这个方法。导致一直无法显示画面。

  • 写回答

3条回答 默认 最新

  • devmiao 2017-08-25 15:54
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀