电脑音频录制和播放

本文介绍网络语音通讯技术,包括电脑录音、播放原理及数据在网络上的传输方法。文章详细阐述了利用声卡进行声音录制和播放的过程,以及实现网络语音通讯所需解决的关键问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网络语音通讯技术研究

 

摘 要 本文讲述了利用计算机进行声音录制和播放技术,以及数据在网络上传输的方法,并结合实例设计了一个网络语音通讯程序。
关键字 网络通讯,声音录制,声音播放,GSM610语音压缩
网络语音通讯是一项很实用的技术,由于这方面的资料较少,所以本文将结合程序对此作详细介绍,要实现网络语音通讯,必须搞清楚以下几个问题以及相应的编程方法:1.电脑如何录音;2.电脑如何播放声音;3.电脑之间如何进行数据传输;4.声音数据如何压缩与解压。

  1. 电脑录音的原理 

电脑依靠声卡来处理声音,Windows把声卡看作是录音和放音设备的组合体,录音时首先要准备一个录音队列,队列中包含录音的基本参数,比如录音 数据缓冲区的地址,缓冲区的大小等,为了使录音过程平滑的进行,队列中至少包含两个以上数据缓冲区,当一个缓冲区录完后,Windows系统会给应用程序 发送一个录音结束的消息,并自动开始转入下一个缓冲区进行录音,应用程序收到该消息后应该释放含有录音数据的队列,并取出该队列所指向的缓冲区的声音数 据,然后将该缓冲区再次加入录音队列,以便继续进行录音。Windows就是这样利用这些数据缓冲区进行周而复始的录入工作。使用到的函数说明如下:
waveInOpen() 打开录音设备
waveInPrepareHeader()准备录音缓冲区
waveInAddBuffer()将缓冲区加入录音队列
waveInStart()开始录音
waveInUnprepareHeader()从录音队列中释放缓冲区
waveInReset()复位录音设备
waveInClose()关闭录音设备

  1. 电脑播放声音的原理 

同样的道理放音时也有放音队列和放音数据缓冲区,当用户需要播放声音时,先把声音数据放入数据缓冲区,然后将缓冲区加入放音队列,并向放音设备发送 写数据命令,声卡就可以播放缓冲区中的声音了。缓冲区中数据播放完成后系统会向应用程序发送放音完成的消息,应用程序可以重复前面的工作,先释放完成的队 列,然后向缓冲区加入新的声音数据,并再次将该缓冲区加入放音队列,让该队列继续工作。
waveOutOpen()打开放音设备
waveOutStart()开始放音
waveOutPrepareHeader()准备放音缓冲区
waveOutWrite()将数据写到放音设备上
waveOutUnprepareHeader()从放音队列中释放缓冲区
waveOutReset()复位放音设备
waveOutClose()关闭放音设备

...................................................(作者:倪建华)

转载自http://www.comprg.com.cn/detail.asp?hw_id=91

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值