网络对讲机C#服务器 Android客户端(二) C#服务器代码分析 附加

3 篇文章 0 订阅


完整的工程下载地址(源码):http://download.csdn.net/detail/zhujinghao09/5313666

C# 录音功能实现

引用 第三方库    

 WaveLib.IWaveControl wave;



            wave = new WaveLib.Wave();
            wave.ErrorEvent += new WaveLib.ErrorEventHandle(wave_ErrorEvent);
            wave.RecordQuality = WaveLib.Quality.Height;

录音按钮点击函数

  private void btnrecord_Click(object sender, EventArgs e)
        {
            string path = "recordes";
            if (!Directory.Exists(path))                                            //创建文件夹
            {
                Directory.CreateDirectory(path);
            }
            string strnow = DateTime.Now.ToString("yyyyMMdd-hh-mm-ss");             //系统时间命名录音文件
            recodpath = "recordes\\"+strnow+".wav";
            wave.SavedFile = recodpath;
            wave.Start();
            timer1.Start();                                 //录音记时
        }
录音停止按钮

 private void btnstop_Click(object sender, EventArgs e)
        {
            wave.Stop();
            timer1.Stop();
            AddVoiceToListBox("Server", wave.SavedFile, true);               //把录音文件路径添加到声音列表
        }
播放功能实现

                  在VS工具箱空白处右键,添加



会在工具箱中出现,windowMediaplayer 控件

播放按钮实现函数

  private void btnPlay_Click(object sender, EventArgs e)
        {
           // this.axWindowsMediaPlayer1.URL = "D:\\Android\\huaxiang.mp3";     //测试
            string temp = voiceLB.SelectedItem.ToString();                    //从listbox 中选择要播放文件路径

            string path = temp.Substring(temp.IndexOf("##$$") + 4);          //获得地址
            this.axWindowsMediaPlayer1.URL = path;
            this.axWindowsMediaPlayer1.Ctlcontrols.play();                  //播放     
        }


在线程中操作控件,本程序中label, ListBox

方法使用委托

private delegate void ShowGetvoice(bool falg);
        private void UpdateLabel(bool flag)
        {
            if (InvokeRequired)
                Invoke(new ShowGetvoice(UpdateLabel), flag);
            else
            {
                if (flag)
                    label3.Text = "接收保存成功!!";
            }
        }

private delegate void DaddVoiceToListBox(string name, string path, bool flag);
        private void AddVoiceToListBox(string name, string path, bool flag)
        {
            if (InvokeRequired)
                Invoke(new DaddVoiceToListBox(AddVoiceToListBox), name, path, flag);
            else
            {
                if (flag)
                {
                    voiceLB.Items.Add(name + "##$$" + path);
                }
            }
        }

使用法:在线程中直接使用函数,和普通函数一样


完整的工程下载地址(源码):http://download.csdn.net/detail/zhujinghao09/5313666

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值