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 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决