8821|10

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince 录音问题 [复制链接]

最近用wm9712做了一个录音,搞了一个测试程序,在
if (waveInOpen(&m_hWaveIn,WAVE_MAPPER,&m_WaveFormatEx,(DWORD)WaveInProc,NULL,CALLBACK_FUNCTION) != MMSYSERR_NOERROR )
        {
                RETAILMSG(OPEN, (TEXT(" record->waveInOpen is = %d; ! //modify by pinery20090605!  \r\n"), waveInOpen(&m_hWaveIn,WAVE_MAPPER,&m_WaveFormatEx,(DWORD)WaveInProc,NULL,CALLBACK_FUNCTION) ));
                goto END;
        }
的时候返回错误,错误类型为4,我查了一下pb的帮助文档,意思是MMSYSERR_ALLOCATED :
The driver determines the number of clients that it enables to use a particular device. If a device is opened by the maximum number of clients, the driver returns MMSYSERR_ALLOCATED for subsequent open requests.

但是我的pda只打开了一个录音的程序呀!来寻求帮助了。。。。

最新回复

你好 最近在学怎么编写wince录音程序,但是没有资料,能教我一下怎么弄这个不   详情 回复 发表于 2015-3-18 19:36
点赞 关注

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没人啊?看来周末大家都在休息
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
你可以仔细检查一下程序,是不是打开了 2 次?
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(中级)

4
 
ding
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个问题可能是你代码的问题,和系统无关。估计你哪里有了不正确的代码。
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

6
 
貌似没看出什么问题,就这几行代码看来
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
As of Windows CE .NET 4.0, the WAV API supports multiple streams per driver. In the past, only one stream per driver was opened, so many drivers did not keep track of their open or closed state.

With the addition of this technology, the driver is responsible for verifying that it is open or closed. If a driver supports only a single stream, the WODM_OPEN or WIDM_OPEN messages will fail with a return value of MMSYSERR_ALLOCATED.
上面这段话是微软的Developing a Device Driver > Windows CE Drivers > Audio Drivers > Audio Driver Samples下的,另外音频的三种驱动方式,mdd/pdd架构,wavedev2,uam模式,如果是mdd/pdd的驱动好象是不支持多个应用的,不知道是不只这个,驱动原形是别人提供的,还的仔细分析一下
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
有可能是音频格式没有设置好吧,给你看看我的代码:

         //open waveform audio for input
        pWaveFormIn.wFormatTag = WAVE_FORMAT_PCM;   //PCM格式编码
        pWaveFormIn.nChannels = 1;                  //声道
        pWaveFormIn.nSamplesPerSec = 8000;          //采样率
        pWaveFormIn.nAvgBytesPerSec = 16000;        //nSamplesPerSec * nBlockAlign
        pWaveFormIn.nBlockAlign = 2;                //nChannels * wBitsPerSample / 8
        pWaveFormIn.wBitsPerSample = 16;            //采样位数
        pWaveFormIn.cbSize = 0;

        if (waveInOpen(&hWaveIn,WAVE_MAPPER,&pWaveFormIn,(DWORD)this->m_hWnd,NULL,CALLBACK_WINDOW))
        {
                MessageInsert(_T("打开录音失败!"));
                return false;
        }

当然,我用的是CALLBACK_WINDOW

点评

你好 最近在学怎么编写wince录音程序,但是没有资料,能教我一下怎么弄这个不  详情 回复 发表于 2015-3-18 19:36
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

9
 
看你的代码不会是在驱动中写的代码吧?我给你的代码是应用层的,基于EVC或者VS.NET编写的!这方面的代码我也是参考VC++的程序(VC知识库)移植过来的,改动很小的。至于代码,你完全可以去网上下载!
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

10
 
是不是 打开了多次 冲突了
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

11
 
yoshiki117 发表于 2009-6-22 13:09
有可能是音频格式没有设置好吧,给你看看我的代码:

         //open waveform audio for input
        pWaveFormIn.wFormatTag = WAVE_FORMAT_PCM;   //PCM格式编码
        pWaveFormIn.nChannels = 1;                  //声道
        pWaveFormIn.nSamplesPerSec = 8000;          //采样率
        pWaveFormIn.nAvgBytesPerSec = 16000;        //nSamplesPerSec * nBlockAlign
        pWaveFormIn.nBlockAlign = 2;                //nChannels * wBitsPerSample / 8
        pWaveFormIn.wBitsPerSample = 16;            //采样位数
        pWaveFormIn.cbSize = 0;

        if (waveInOpen(&hWaveIn,WAVE_MAPPER,&pWaveFormIn,(DWORD)this->m_hWnd,NULL,CALLBACK_WINDOW))
        {
                MessageInsert(_T("打开录音失败!"));
                return false;
        }

当然,我用的是CALLBACK_WINDOW


你好 最近在学怎么编写wince录音程序,但是没有资料,能教我一下怎么弄这个不

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表