private VideoChatForm()
        {
            InitializeComponent();
            InitQuality();
            InitClipTypes();
            _startcb = new NIMVChatMp4RecordOptHandler(VChatRecordStartCallback);
            _start_audio_record_cb = new NIMVChatAudioRecordOptHandler(VChatAudioRecordCallback);
            _stop_audio_record_cb  = new NIMVChatAudioRecordOptHandler(VChatAudioRecordCallback);

            this.Load       += VideoChatForm_Load;
            this.FormClosed += VideoChatForm_FormClosed;

            sendCaptureScreenDataTimer_.Interval = 100;
            sendCaptureScreenDataTimer_.Elapsed += SendCustomVideoTick;
        }
Example #2
0
        private void btnRecordAudio_Click(object sender, EventArgs e)
        {
            Random random         = new Random();
            string path           = Application.StartupPath + @"\" + random.Next().ToString() + @".aac";
            string json_extension = "";

            audio_record = !audio_record;
            if (audio_record)
            {
                _start_audio_record_cb = new NIMVChatAudioRecordOptHandler(VChatAudioRecordCallback);
                btnRecordAudio.Text    = "停止录音";
                NIM.VChatAPI.StartAudioRecord(path, _start_audio_record_cb);
            }
            else
            {
                _stop_audio_record_cb = new NIMVChatAudioRecordOptHandler(VChatAudioRecordCallback);
                btnRecordAudio.Text   = "录制音频";
                NIM.VChatAPI.StopAudioRecord(_start_audio_record_cb);
            }
        }
Example #3
0
        /// <summary>
        /// 停止录制音频文件
        /// </summary>
        /// <param name="cb">结果回调</param>
        /// <returns>无返回值</returns>
        public static void StopAudioRecord(NIMVChatAudioRecordOptHandler cb)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb);

            VChatNativeMethods.nim_vchat_stop_audio_record("", VChatAudioRecordStopCb, ptr);
        }
Example #4
0
        /// <summary>
        /// 开始录制音频文件,一次只允许一个音频录制文件
        /// </summary>
        /// <param name="path">文件录制路径</param>
        /// <param name="cb">结果回调</param>
        /// <returns>无返回值</returns>
        public static void StartAudioRecord(string path, NIMVChatAudioRecordOptHandler cb)
        {
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb);

            VChatNativeMethods.nim_vchat_start_audio_record(path, "", VChatAudioRecordStartCb, ptr);
        }