网络语音通讯技术研究
摘 要 本文讲述了利用计算机进行声音录制和播放技术,以及数据在网络上传输的方法,并结合实例设计了一个网络语音通讯程序。
电脑依靠声卡来处理声音,Windows把声卡看作是录音和放音设备的组合体,录音时首先要准备一个录音队列,队列中包含录音的基本参数,比如录音
数据缓冲区的地址,缓冲区的大小等,为了使录音过程平滑的进行,队列中至少包含两个以上数据缓冲区,当一个缓冲区录完后,Windows系统会给应用程序
发送一个录音结束的消息,并自动开始转入下一个缓冲区进行录音,应用程序收到该消息后应该释放含有录音数据的队列,并取出该队列所指向的缓冲区的声音数
据,然后将该缓冲区再次加入录音队列,以便继续进行录音。Windows就是这样利用这些数据缓冲区进行周而复始的录入工作。使用到的函数说明如下:
同样的道理放音时也有放音队列和放音数据缓冲区,当用户需要播放声音时,先把声音数据放入数据缓冲区,然后将缓冲区加入放音队列,并向放音设备发送
写数据命令,声卡就可以播放缓冲区中的声音了。缓冲区中数据播放完成后系统会向应用程序发送放音完成的消息,应用程序可以重复前面的工作,先释放完成的队
列,然后向缓冲区加入新的声音数据,并再次将该缓冲区加入放音队列,让该队列继续工作。 ...................................................(作者:倪建华) 转载自http://www.comprg.com.cn/detail.asp?hw_id=91 |