/// <summary> /// 下载资源 /// </summary> /// <param name="nosUrl">下载资源的URL</param> /// <param name="resHandler">下载的结果回调</param> /// <param name="prgHandler">下载进度的回调</param> public static void Download(string nosUrl, DownloadResultHandler resHandler, ProgressResultHandler prgHandler) { var ptr1 = NimUtility.DelegateConverter.ConvertToIntPtr(resHandler); var ptr2 = NimUtility.DelegateConverter.ConvertToIntPtr(prgHandler); NosNativeMethods.nim_nos_download(nosUrl, DownloadCb, ptr1, DownloadPrgCb, ptr2); }
/// <summary> /// 获取资源 /// </summary> /// <param name="msg">消息体,NIMVedioMessage NIMAudioMessage NIMFileMessage等带msg_attach属性的有下载信息的消息</param> /// <param name="resHandler">下载的结果回调</param> /// <param name="prgHandler">下载进度的回调</param> public static void DownloadMedia(NIMIMMessage msg, DownloadResultHandler resHandler, ProgressResultHandler prgHandler) { var ptr1 = NimUtility.DelegateConverter.ConvertToIntPtr(resHandler); var ptr2 = NimUtility.DelegateConverter.ConvertToIntPtr(prgHandler); var msgJson = msg.Serialize(); NosNativeMethods.nim_nos_download_media(msgJson, DownloadCb, ptr1, DownloadPrgCb, ptr2); }
/// <summary> /// 下载资源 /// </summary> /// <param name="nosUrl">下载资源的URL</param> /// <param name="resHandler">下载的结果回调</param> /// <param name="prgHandler">下载进度的回调</param> public static void Download(string nosUrl, DownloadResultHandler resHandler, ProgressResultHandler prgHandler, object userData = null) { ProgressData data = new ProgressData(); data.Url = nosUrl; data.UserData = userData; ProgressPair pair = new ProgressPair(data, prgHandler); var ptr1 = DelegateConverter.ConvertToIntPtr(resHandler); var ptr2 = DelegateConverter.ConvertToIntPtr(pair); NosNativeMethods.nim_nos_download(nosUrl, DownloadCb, ptr1, DownloadPrgCb, ptr2); }
/// <summary> /// 获取资源 /// </summary> /// <param name="msg">消息体,NIMVideoMessage NIMAudioMessage NIMFileMessage等带msg_attach属性的有下载信息的消息</param> /// <param name="resHandler">下载的结果回调</param> /// <param name="prgHandler">下载进度的回调</param> public static void DownloadMedia(NIMIMMessage msg, DownloadResultHandler resHandler, ProgressResultHandler prgHandler, object userData = null) { ProgressData data = new ProgressData(); data.Message = msg; data.UserData = userData; ProgressPair pair = new ProgressPair(data, prgHandler); var ptr1 = DelegateConverter.ConvertToIntPtr(resHandler); var ptr2 = DelegateConverter.ConvertToIntPtr(pair); var msgJson = msg.Serialize(); NosNativeMethods.nim_nos_download_media(msgJson, DownloadCb, ptr1, DownloadPrgCb, ptr2); }
/// <summary> /// 注册下载回调,通过注册回调获得http下载结果通知,刷新资源 /// </summary> /// <param name="handler">下载的结果回调</param> /// public static void RegDownloadCb(DownloadResultHandler handler) { var ptr = DelegateConverter.ConvertToIntPtr(handler); NosNativeMethods.nim_nos_reg_download_cb(DownloadCb, ptr); }