语音聊天源码
系统结构:数据处理,查找录音设备,打开录音设备,准备缓冲,清除缓冲,增加缓冲,开始录音,waveInReset,关闭录音设备,停止录音,数据处理,查找放音设备,打开放音设备,关闭放音设备,写入声音输出设备,暂停声音回放,开始回放,停止声音回放,准备缓冲,清除缓冲,增加缓冲,发送消息,
======窗口程序集1
| |
| |------ _连接对方按钮_被单击
| |
| |------ _开始录取或传送数据按钮_被单击
| |
| |------ 数据处理
| |
| |------ _暂停按钮_被单击
| |
| |------ _音频数据发送即时检测时钟_周期事件
| |
| |------ __启动窗口_创建完毕
| |
| |
======调用的Dll
| |
| |---[dll]------ 查找录音设备
| |
| |---[dll]------ 打开录音设备
| |
| |---[dll]------ 准备缓冲
| |
| |---[dll]------ 清除缓冲
| |
| |---[dll]------ 增加缓冲
| |
| |---[dll]------ 开始录音
| |
| |---[dll]------ waveInReset
| |
| |---[dll]------ 关闭录音设备
| |
| |---[dll]------ 停止录音
======窗口程序集1
| |
| |------ _服务器1_数据到达
| |
| |------ _播放按钮_被单击
| |
| |------ 数据处理
| |
| |------ _暂停按钮_被单击
| |
| |------ _接收数据块数量检测时钟_周期事件
| |
| |------ __启动窗口_创建完毕
| |
| |
======调用的Dll
| |
| |---[dll]------ 查找放音设备
| |
| |---[dll]------ 打开放音设备
| |
| |---[dll]------ 关闭放音设备
| |
| |---[dll]------ 写入声音输出设备
| |
| |---[dll]------ 暂停声音回放
| |
| |---[dll]------ 开始回放
| |
| |---[dll]------ 停止声音回放
| |
| |---[dll]------ 准备缓冲
| |
| |---[dll]------ 清除缓冲
| |
| |---[dll]------ 增加缓冲
| |
| |---[dll]------ 发送消息
调用的DLL命令:
.DLL命令 查找录音设备, 整数型, "winmm.dll", "waveInGetNumDevs", , waveInGetNumDevs只有在确定设备存在之后,才可以打开设备
.DLL命令 打开录音设备, 整数型, "winmm.dll", "waveInOpen", , waveInOpen
.参数 lphWaveIn, 整数型, 传址
.参数 uDeviceID, 整数型
.参数 lpFormat, WAVEFORMATEX
.参数 dwCallbac, 子程序指针
.参数 dwInstance, 整数型
.参数 dwFlags, 整数型
.DLL命令 准备缓冲, 整数型, "winmm.dll", "waveInPrepareHeader", , waveInPrepareHeader在录音之前,要预备好存音频的数据缓存区
.参数 hWaveIn, 整数型
.参数 lpWaveInHdr, WAVEHDR
.参数 uSize, 整数型
.DLL命令 清除缓冲, 整数型, "winmm.dll", "waveInUnprepareHeader", , waveInUnprepareHeader
.参数 hWaveIn, 整数型
.参数 lpWaveInHdr, WAVEHDR
.参数 uSize, 整数型
.DLL命令 增加缓冲, 整数型, "winmm.dll", "waveInAddBuffer", , waveInAddBuffer
.参数 hWaveIn, 整数型
.参数 lpWaveInHdr, WAVEHDR
.参数 uSize, 整数型
.DLL命令 开始录音, 整数型, "winmm.dll", "waveInStart", , waveInStart开始录音
.参数 hWaveIn, 整数型
.DLL命令 waveInReset, 整数型, "winmm.dll", "waveInReset", , waveInReset
.参数 hWaveIn, 整数型
.DLL命令 关闭录音设备, 整数型, "winmm.dll", "waveInClose", , waveInClose
.参数 hWaveIn, 整数型
.DLL命令 停止录音, 整数型, "winmm.dll", "waveInStop", , waveInStop
.参数 hWaveIn, 整数型
调用的DLL命令:
.DLL命令 查找放音设备, 整数型, "winmm.dll", "waveOutGetNumDevs", , waveOutGetNumDevs
.DLL命令 打开放音设备, 整数型, "winmm.dll", "waveOutOpen", , waveOutOpen
.参数 lphWaveIn, 整数型, 传址, 句柄指针,用于存放返回的设备句柄
.参数 uDeviceID, 整数型, , 设备ID,通常使用WAVE_MAPPER由系统来选择
.参数 lpFormat, WAVEFORMATEX, , 设备属性设置
.参数 dwCallbac, 子程序指针, , 回调句柄,通常是一个窗口句柄HWND
.参数 dwInstance, 整数型, , 回调Instance,通常设为NULL
.参数 dwFlags, 整数型, , 回调方式,通常设为CALLBACK_WINDOW
.DLL命令 关闭放音设备, 整数型, "winmm.dll", "waveOutClose", , waveOutClose
.参数 hWaveIn, 整数型
.DLL命令 写入声音输出设备, 整数型, "winmm.dll", "waveOutWrite", , waveOutWrite
.参数 hWaveOut, 整数型
.参数 lpWaveOutHdr, WAVEHDR
.参数 uSize, 整数型
.DLL命令 暂停声音回放, 整数型, "winmm.dll", "waveOutPause", , waveOutPause
.参数 hWaveOut, 整数型
.DLL命令 开始回放, 整数型, "winmm.dll", "waveOutRestart", , waveOutRestart
.参数 hWaveOut, 整数型
.DLL命令 停止声音回放, 整数型, "winmm.dll", "waveOutReset", , waveOutReset
.参数 hWaveOut, 整数型
.DLL命令 准备缓冲, 整数型, "winmm.dll", "waveOutPrepareHeader", , waveOutPrepareHeader
.参数 hWaveIn, 整数型
.参数 lpWaveInHdr, WAVEHDR
.参数 uSize, 整数型
.DLL命令 清除缓冲, 整数型, "winmm.dll", "waveOutUnprepareHeader", , waveOutUnprepareHeader
.参数 hWaveIn, 整数型
.参数 lpWaveInHdr, WAVEHDR
.参数 uSize, 整数型
.DLL命令 增加缓冲, 整数型, "winmm.dll", "waveInAddBuffer", , waveInAddBuffer
.参数 hWaveIn, 整数型
.参数 lpWaveInHdr, WAVEHDR
.参数 uSize, 整数型
.DLL命令 发送消息, , "winmm.dll", "waveOutMessage", , waveOutMessage
.参数 hWaveIn, 整数型
.参数 msg, 整数型
.参数 dw1, 整数型
.参数 dw2, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。