Exemplo n.º 1
0
        public bool StartTlak(Enum_TalkModel talkModel)
        {
            bool bolResult = false;

            videoTalk.StartTlak(talkModel);
            return(bolResult);
        }
        public bool StartTlak(Enum_TalkModel talkModel)
        {
            bool bolResult = false;

            if (SDK_TalkManagerSDK.StartTalk(CurrentVideoInfo.DVSAddress, CurrentVideoInfo.DVSConnectPort, 8082))
            {
                CurrentTalkStatus = Enum_TalkStatus.Talkbacking;
            }
            else
            {
                CurrentTalkStatus = Enum_TalkStatus.Null;
            }
            return(bolResult);
        }
Exemplo n.º 3
0
        public bool StartTlak(Enum_TalkModel talkModel)
        {
            bool bolResult = false;

            if (CurrentTalkStatus != Enum_TalkStatus.Null)  //处于对讲中 先关闭
            {
                StopTalk();
            }
            StartTalking(null);
            int intChannel = CurrentTalkChannel.VideoTalkChannel - 1;
            int intResult  = SDK_SKNVideo.SDK_NSK_CLIENT_start_talk(CurrentVideoInfo.DVSAddress, GetTalkValuebyTalkChannel(intChannel), GetSKTalkModel(talkModel), "\\TEST\\test.g711", "\\TEST\\test.g711");

            CurrentTalkStatus = (Enum_TalkStatus)(int)talkModel;
            return(bolResult);
        }
Exemplo n.º 4
0
 /// <summary>
 /// 开始对讲
 /// </summary>
 /// <param name="talkModel"></param>
 /// <returns></returns>
 public override bool StartTlak(Enum_TalkModel talkModel)
 {
     if (CurrentTalkStatus != Enum_TalkStatus.Null)  //处于对讲中 先关闭
     {
         StopTalk();
     }
     StartTalking(null);
     if (CurrentTalkSetting.ExecuteTalk)
     {
         VideoEnvironment_ZHSR.ZHSR_Main_Callback_Event -= VideoEnvironment_ZHSR_ZHSR_Main_Callback_Event;
         VideoEnvironment_ZHSR.ZHSR_Main_Callback_Event += VideoEnvironment_ZHSR_ZHSR_Main_Callback_Event;
         int intTalkChannel = CurrentTalkChannel.VideoTalkChannel - 1;
         SDK_ZHSRSDK.win_sta_usr_call_req(VideoEnvironment.VideoEnvironment_ZHSR.Session, CurrentVideoInfo.DVSAddress, intTalkChannel, 0, 2, 1, 0);
     }
     CurrentTalkStatus = (Enum_TalkStatus)(int)talkModel;
     return(false);
 }
Exemplo n.º 5
0
        public bool StartTlak(Enum_TalkModel talkModel)
        {
            bool bolResult = false;

            if (CurrentTalkStatus != Enum_TalkStatus.Null)  //处于对讲中 先关闭
            {
                StopTalk();
            }
            StartTalking(null);
            NET_DVR_DEVICEINFO_V30 dev = new NET_DVR_DEVICEINFO_V30();

            _intDVRHwd    = NET_DVR_Login_V30(CurrentVideoInfo.DVSAddress, CurrentVideoInfo.DVSConnectPort, CurrentVideoInfo.UserName, CurrentVideoInfo.Password, ref dev);
            VoiceCallBack = new fVoiceDataCallBack(MyRealDataCallBack);
            _intTalkHwd   = NET_DVR_StartVoiceCom(_intDVRHwd, VoiceCallBack, 0);
            NET_DVR_SetVoiceComClientVolume(_intTalkHwd, 65530);
            CurrentTalkStatus = (Enum_TalkStatus)(int)talkModel;
            return(bolResult);
        }
Exemplo n.º 6
0
        public bool StartTlak(Enum_TalkModel talkModel)
        {
            bool bolResult = false;

            VideoEnvironment.VideoEnvironment_TL.TL_StartTalking(null);
            VideoEnvironment.VideoEnvironment_TL.TL_StartTalkingEvent += VideoEnvironment_TL_TL_StartTalkingEvent;
            if (CurrentTalkStatus != Enum_TalkStatus.Null)  //处于对讲中 先关闭
            {
                StopTalk();
            }
            int Temp_intIndex = SDK_TLi.GetNodeIndexByDeviceID(CurrentVideoInfo.DVSUniqueCode);

            if (Temp_intIndex == -1)
            {
                //刷新设备列表
                VideoEnvironment.VideoEnvironment_TL.RefreshDeviceList();
            }
            Temp_intIndex = SDK_TLi.GetNodeIndexByDeviceID(CurrentVideoInfo.DVSUniqueCode);
            if (Temp_intIndex == -1)
            {
                return(false);
            }
            d = VideoEnvironment.VideoEnvironment_TL.devices[Temp_intIndex];
            StartTalking(null);
            SDK_TLi.NETDVR_devicenode_t deviceInfo = new SDKInterface.SDK_TLi.NETDVR_devicenode_t();
            deviceInfo.device_ID       = d.devicenode.device_ID;
            deviceInfo.maxSubstreamNum = d.devicenode.maxSubstreamNum;
            SDK_TLi.NETDVR_createDVR_3g(ref d.nHandle, deviceInfo.device_ID, ref deviceInfo);
            SDK_TLi.TLPlay_GetPort(ref m_hPlayPort);
            SDK_TLi.TLPlay_SetPlayMode(m_hPlayPort, SDKInterface.SDK_TLi.TLPLAYMODE.TL_PLAY_POOL_STREAM);
            SDK_TLi.TLPlay_OpenStream(m_hPlayPort, 1 << 20);
            SDK_TLi.TLPlay_Play(m_hPlayPort, IntPtr.Zero);
            frameCallBack = new pDecFrameCallBack(DealVoipAuidoFrame);
            int ret = NETDVR_VOIPRegRcvCB(d.nHandle, 0, frameCallBack, Convert.ToUInt32(m_hPlayPort));

            ret = SDK_TLi.NETDVR_startVOIP(d.nHandle, 0);
            bool bol = SDK_TLi.TLPlay_PlaySound(m_hPlayPort);

            CurrentTalkStatus = (Enum_TalkStatus)(int)talkModel;
            return(bolResult);
        }
Exemplo n.º 7
0
        public static int GetSKTalkModel(Enum_TalkModel talk)
        {
            //对讲模式,1,全双工,2,喊话,3,监听
            int intResult = 1;

            switch (talk)
            {
            case Enum_TalkModel.Talkback:
                intResult = 1;
                break;

            case Enum_TalkModel.Sperak:
                intResult = 2;
                break;

            case Enum_TalkModel.Interception:
                intResult = 3;
                break;
            }
            return(intResult);
        }
Exemplo n.º 8
0
        public bool StartTlak(Enum_TalkModel talkModel)
        {
            bool bolResult = false;

            if (CurrentTalkStatus != Enum_TalkStatus.Null)  //处于对讲中 先关闭
            {
                StopTalk();
            }
            StartTalking(null);
            SDK_SKVideoSDK.st_multi_talk talkChannel = new SDK_SKVideoSDK.st_multi_talk();
            int Temp_intChannel = CurrentTalkChannel.VideoTalkChannel - 1;

            talkChannel = SDK_SKVideoSDK.SetMultiTalkChannel(Temp_intChannel, talkChannel);
            if (CurrentTalkSetting.TalkRecordEnable)
            {
                if (ProgParameter.SKVideoTalkRecordFlag && CurrentTalkChannel.VideoInfo.OnlyIntercom)
                {
                    //仅作为对讲设备,打开通道1视频,视频录像中将会保存视频
                    string Temp_strTalkRecordPath = GetTalkRecordPath_Server(CurrentTalkSetting.TalkRecordPath_Server, CurrentTalkSetting.TalkRecordName_Server);
                    SDK_SKVideoSDK.p_sdkc_start_rt_video_ex(
                        CurrentVideoInfo.DVSAddress,
                        0,
                        IntPtr.Zero,
                        1,
                        30,
                        5,
                        0,
                        Temp_strTalkRecordPath);
                }
                else
                {
                    CurrentTalkSetting.TalkRecordRealSavePath_Local = GetTalkRecordPath_Local(CurrentTalkSetting.TalkRecordPath_Local, CurrentTalkSetting.TalkRecordName_Local);
                    string Temp_strValue = Path.GetDirectoryName(CurrentTalkSetting.TalkRecordRealSavePath_Local);
                    CommonMethod.Common.CreateFolder(Temp_strValue);
                }
            }
            SDK_SKVideoSDK.p_sdkc_start_multi_talk(CurrentVideoInfo.DVSAddress, ref talkChannel, GetSKTalkModel(talkModel), 1, 15, 10, CurrentTalkSetting.TalkRecordRealSavePath_Local);
            CurrentTalkStatus = (Enum_TalkStatus)(int)talkModel;
            return(bolResult);
        }
        /// <summary>
        /// 开始对讲
        /// </summary>
        /// <param name="talkModel"></param>
        /// <returns></returns>
        public override bool StartTlak(Enum_TalkModel talkModel)
        {
            if (CurrentTalkStatus != Enum_TalkStatus.Null)  //处于对讲中 先关闭
            {
                StopTalk();
            }
            StartTalking(null);
            int intResult      = 0;
            int intLenght      = 0;
            int intTalkChannel = CurrentTalkChannel.VideoTalkChannel - 1;

            callBack = new SDK_EzvizSDK.MsgHandler(Ezviz_MsgCallback);
            string strUser = CurrentVideoInfo.DVSAddress + "_" + CurrentTalkChannel.VideoTalkChannel;

            iUser     = Marshal.StringToHGlobalAnsi(strUser);
            intResult = SDK_EzvizSDK.OpenSDK_AllocSessionEx(callBack, iUser, out intptrSessionID, out intLenght);
            IntPtr intptrdevSerial = Marshal.StringToHGlobalAnsi(CurrentVideoInfo.DVSAddress);

            SDK_EzvizSDK.OpenSDK_StartVoiceTalkEx(intptrSessionID, intptrdevSerial, CurrentTalkChannel.VideoTalkChannel);
            CurrentTalkStatus = (Enum_TalkStatus)(int)talkModel;
            return(false);
        }
Exemplo n.º 10
0
 /// <summary>
 ///开始对讲
 /// </summary>
 /// <param name="talkModel"></param>
 /// <returns></returns>
 public virtual bool StartTlak(Enum_TalkModel talkModel)
 {
     return(false);
 }