社区
嵌入开发(WinCE)
帖子详情
求EVC录音程序
cjyun
2004-08-10 10:28:36
我通过修改VC的录音程序,能在模拟器上录音,但在板子上运行时,却不能录音,我不知道是板子的问题还是程序问题,想参考各位的录音程序。谢谢了!
我的邮箱:cjyun2004@126.com
...全文
203
11
打赏
收藏
求EVC录音程序
我通过修改VC的录音程序,能在模拟器上录音,但在板子上运行时,却不能录音,我不知道是板子的问题还是程序问题,想参考各位的录音程序。谢谢了! 我的邮箱:cjyun2004@126.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cherishhu
2004-09-03
打赏
举报
回复
我发到你的邮箱里了,查收
无聊客
2004-08-21
打赏
举报
回复
我帮你顶下,我做过,但是最近没空帮你看代码,我懒,呵呵
cjyun
2004-08-21
打赏
举报
回复
我疯了,没人会啊,郁闷!!
cjyun
2004-08-19
打赏
举报
回复
郁闷都是自己在答话
cjyun
2004-08-16
打赏
举报
回复
不行啊,没人帮我啊
crazyeagle
2004-08-16
打赏
举报
回复
没做过,帮你顶!
cherishhu
2004-08-13
打赏
举报
回复
帮你顶一下
cjyun
2004-08-12
打赏
举报
回复
顶一下
cjyun
2004-08-10
打赏
举报
回复
不好意思多贴了一遍 void CRecordeDlg::OnStop()
cjyun
2004-08-10
打赏
举报
回复
void CRecordeDlg::OnStart()
{
// TODO: Add your control notification handler code here
//allocate buffer memory
pBuffer1=(PBYTE)malloc(INP_BUFFER_SIZE);
pBuffer2=(PBYTE)malloc(INP_BUFFER_SIZE);
if (!pBuffer1 || !pBuffer2) {
if (pBuffer1) free(pBuffer1);
if (pBuffer2) free(pBuffer2);
MessageBeep(MB_ICONEXCLAMATION);
AfxMessageBox(_T("Memory erro!"));
return ;
}
//open waveform audo for input
waveform.wFormatTag=WAVE_FORMAT_PCM;
waveform.nChannels=1;
waveform.nSamplesPerSec=11025;
waveform.nAvgBytesPerSec=11025;
waveform.nBlockAlign=1;
waveform.wBitsPerSample=8;
waveform.cbSize=0;
if (waveInOpen(&hWaveIn,WAVE_MAPPER,&waveform,(DWORD)this->m_hWnd,NULL,CALLBACK_WINDOW)) {
free(pBuffer1);
free(pBuffer2);
MessageBeep(MB_ICONEXCLAMATION);
AfxMessageBox(_T("Audio can not be open!"));
}
/**********************************************/
// pWaveHdr1->lpData=(LPTSTR)pBuffer1;
pWaveHdr1->lpData=(char *)pBuffer1;
pWaveHdr1->dwBufferLength=INP_BUFFER_SIZE;
pWaveHdr1->dwBytesRecorded=0;
pWaveHdr1->dwUser=0;
pWaveHdr1->dwFlags=0;
pWaveHdr1->dwLoops=1;
pWaveHdr1->lpNext=NULL;
pWaveHdr1->reserved=0;
waveInPrepareHeader(hWaveIn,pWaveHdr1,sizeof(WAVEHDR));
/************************************************/
// pWaveHdr2->lpData=(LPTSTR)pBuffer2;
pWaveHdr2->lpData=(char *)pBuffer2;
pWaveHdr2->dwBufferLength=INP_BUFFER_SIZE;
pWaveHdr2->dwBytesRecorded=0;
pWaveHdr2->dwUser=0;
pWaveHdr2->dwFlags=0;
pWaveHdr2->dwLoops=1;
pWaveHdr2->lpNext=NULL;
pWaveHdr2->reserved=0;
waveInPrepareHeader(hWaveIn,pWaveHdr2,sizeof(WAVEHDR));
//////////////////////////////////////////////////////////////////////////
pSaveBuffer = (PBYTE)realloc (pSaveBuffer, 1) ;
// Add the buffers
waveInAddBuffer (hWaveIn, pWaveHdr1, sizeof (WAVEHDR)) ;
waveInAddBuffer (hWaveIn, pWaveHdr2, sizeof (WAVEHDR)) ;
// Begin sampling
dwDataLength = 0 ;
waveInStart (hWaveIn) ;
}
void CRecordeDlg::OnStop()
{
// TODO: Add your control notification handler code here
TRACE(_T("rec stop \n"));
//Sleep(1500);
waveInReset(hWaveIn);
}
void CRecordeDlg::OnPlay()
{
// TODO: Add your control notification handler code here
//open waveform audio for output
waveform.wFormatTag = WAVE_FORMAT_PCM;
waveform.nChannels = 1;
waveform.nSamplesPerSec =11025;
waveform.nAvgBytesPerSec=11025;
waveform.nBlockAlign =1;
waveform.wBitsPerSample =8;
waveform.cbSize =0;
if (waveOutOpen(&hWaveOut,WAVE_MAPPER,&waveform,(DWORD)this->m_hWnd,NULL,CALLBACK_WINDOW)) {
MessageBeep(MB_ICONEXCLAMATION);
AfxMessageBox(_T("Audio output erro"));
}
return ;
}
void CRecordeDlg::OnStop()
{
// TODO: Add your control notification handler code here
TRACE(_T("rec stop \n"));
//Sleep(1500);
waveInReset(hWaveIn);
}
//////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
//下面是MM_WIM_DATA的处理函数,这里模拟器运行没错,PDA上运行有错。提示"erro memory"
void CRecordeDlg::OnDataMessage(WPARAM wParam,LPARAM lParam)
{
pNewBuffer = (PBYTE)realloc (pSaveBuffer, dwDataLength +
((PWAVEHDR) lParam)->dwBytesRecorded) ;
if (pNewBuffer == NULL)
{
waveInClose (hWaveIn) ;
MessageBeep (MB_ICONEXCLAMATION) ;
AfxMessageBox(_T("erro memory"));
return ;
}
pSaveBuffer = pNewBuffer ;
CopyMemory (pSaveBuffer + dwDataLength, ((PWAVEHDR) lParam)->lpData,
((PWAVEHDR) lParam)->dwBytesRecorded) ;
dwDataLength += ((PWAVEHDR) lParam)->dwBytesRecorded ;
// Send out a new buffer
waveInAddBuffer (hWaveIn, (PWAVEHDR) lParam, sizeof (WAVEHDR)) ;
TRACE(_T("done input data\n"));
return ;
}
模拟器上可以录音的,PDA上却不行,麻烦各位看一下,找一下错误,谢谢!
无聊客
2004-08-10
打赏
举报
回复
我截取了一些代码发给你了,能够在SPV和PPC机器上实现录音,希望对你有所帮助
好用的wince
录音
设置路径
程序
(
EVC
)
可以下载到板子SDK是2440的,能够设置
录音
的路径
Windows Mobile下音频
录音
和播放应用
一个Windows Mobile下音频
录音
和播放的应用,使用VS2005英文版,WM6.0. 从网上的一个
EVC
程序
转过来的,经过了少量改动。 也许对Wm下调试WAVEDEV2驱动有辅助作用。
ARMSYS2410套餐4
提供如何在
EVC
中建立应用
程序
并下载到开发板上运行的说明; 包含丰富的实例和各种应用; 采用u-boot作为启动引导,支持高速下载。 应用领域: 全球定位系统,汽车导航系统,个人数字助理,...
PW2440嵌入式主板使用手册V1.2
8.20 WinCE 应用
程序
开发(基于
EVC
) 九 PW2440主板Linux2.6.18.2系统快速掌握流程 9.1 Linux2.6 内核系统介绍 9.2 Linux2.6.18.2 光盘目录介绍 9.3 用 ATBOOT 下载 Linux2.6.18.2 方法 9.4 Linux2.6.18.2 640*480 ...
mini2440用户手册
友善之臂mini2440用户手册 第一章 Mini2440 开发板介绍...........................................................................................................................- 15 - ...
嵌入开发(WinCE)
19,502
社区成员
41,568
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章