BCB里用MCI实现简单的录音功能(摘录自BCB Demo)
来源:互联网 发布:excel数据分类汇总ppt 编辑:程序博客网 时间:2024/05/16 19:14
BCB里用MCI实现简单的录音功能(摘录自BCB Demo)
代码相当简单:
HANDLE m_hMCIWnd=MCIWndCreate(Handle,
HInstance,
WS_CHILD | WS_OVERLAPPED | WS_CAPTION | WS_BORDER |
MCIWNDF_RECORD | MCIWNDF_SHOWALL,
NULL );
MCIWndNew(m_hMCIWnd, "waveaudio");
MCI_WAVE_SET_PARMS set_parms;
set_parms.wFormatTag = WAVE_FORMAT_PCM;
set_parms.wBitsPerSample = 16;
set_parms.nChannels = 1;
set_parms.nBlockAlign = (set_parms.nChannels*set_parms.wBitsPerSample)/8;
set_parms.nSamplesPerSec = 44100;
set_parms.nAvgBytesPerSec = ((set_parms.wBitsPerSample) *
set_parms.nChannels *
set_parms.nSamplesPerSec)/8;
// now send the format changes with MCI_SET
int deviceID=MCIWndGetDeviceID(m_hMCIWnd);
int result = mciSendCommand( deviceID, MCI_SET,
MCI_WAIT
| MCI_WAVE_SET_FORMATTAG
| MCI_WAVE_SET_BITSPERSAMPLE
| MCI_WAVE_SET_CHANNELS
| MCI_WAVE_SET_SAMPLESPERSEC
| MCI_WAVE_SET_AVGBYTESPERSEC
| MCI_WAVE_SET_BLOCKALIGN,
(DWORD)(LPVOID)&set_parms);
MCIWndRecord(m_hMCIWnd); //开始录制
ShowMessage("录音中...");
MCIWndStop(m_hMCIWnd); //录制完毕
MCIWndSave(m_hMCIWnd,L"abc.wav"); //保存
MCIWndClose(m_hMCIWnd);
MCIWndDestroy(m_hMCIWnd);
头文件:#include <vfw.h>
- BCB里用MCI实现简单的录音功能(摘录自BCB Demo)
- BCB里用MCI实现简单的录音功能
- BCB部分功能实现
- 用最简单的办法,实现最好的打印(用BCB调用WORD的打印功能)
- 用最简单的办法,实现最好的打印(用BCB调用记事本的打印功能)
- BCB的简单注意事项
- BCB图片按钮的实现
- BCB:TEdit控件右对齐的简单实现
- BCB In Delphi的 Flash Demo
- 用BCB开发有身份认证功能的Email程序
- 用BCB开发有身份认证功能的Email程序
- 用BCB开发有身份认证功能的Email程序
- BCB的编码规则参考:BCB团队开发小组编码规则(摘录)
- BCB自绘菜单
- MCI实现录音
- bcb中TChart组件的简单应用
- bcb中TChart组件的简单应用
- 在bcb里实现像Winamp那样具有吸附效果的磁性窗口
- RMI的使用
- PHP缓存技术介绍!
- 关于PHP操作文件的一些FAQ总结
- 明白了这十个故事,你也就参悟了人生
- 今天开始写文章
- BCB里用MCI实现简单的录音功能(摘录自BCB Demo)
- 发现BCB6的TComInterface实现有点问题
- 红本本
- adapter
- 最新版的fckeditor2.4在php环境下的设置
- 黄山烟云(新浪旧贴)
- sxs.exe病毒手动删除方法
- Componite
- 重要!请注意!宏村的慕尼黑会议!(新浪旧贴)