当前位置: 首页 > news >正文

网站建设项目验收报告书广西桂林商贸旅游技工学校

网站建设项目验收报告书,广西桂林商贸旅游技工学校,优化方案历史,wordpress 单 中今天是2024年1月1日#xff0c;新年的第一缕阳光已经普照大地#xff0c;祝愿看到这篇文章的所有程序员或程序爱好者都能在新的一年里持之以恒#xff0c;事业有成。 今天也是我加入CSDN的第4100天#xff0c;但回过头看一看#xff0c;这么长的时间也没有在CSDN写下几篇…今天是2024年1月1日新年的第一缕阳光已经普照大地祝愿看到这篇文章的所有程序员或程序爱好者都能在新的一年里持之以恒事业有成。 今天也是我加入CSDN的第4100天但回过头看一看这么长的时间也没有在CSDN写下几篇文章真是一种遗憾。为了弥补这个遗憾我会继续坚持把这套教程写完。目前的教程总体而言写的还比较粗略很多细节没有展开写后面找时间再继续优化现在主要是梳理一下整体思路先搞个框架出来。 1.捕获麦克风数据入队列备用 上节课我们已经用openCV成功打开摄像头并实现了预览功能这节课我们来看一下如何捕获麦克风数据。要捕获麦克风数据就要先打开麦克风打开麦克风的方法与《第3课 使用FFmpeg获取并播放音频流》中打开扬声器的方法差不多 //打开麦克风 void fmle::openMic(){int nIndex 0;inWaveform.wFormatTag WAVE_FORMAT_PCM;inWaveform.nSamplesPerSec 44100;inWaveform.wBitsPerSample 16;inWaveform.nChannels 2;inWaveform.nBlockAlign (inWaveform.wBitsPerSample * inWaveform.nChannels) / 8;inWaveform.nAvgBytesPerSec inWaveform.nBlockAlign * inWaveform.nSamplesPerSec;inWaveform.cbSize 0;waveInOpen(hWaveIn, nIndex, inWaveform, (DWORD)micCallback, 0L, CALLBACK_FUNCTION);waveHdrArr new WAVEHDR[audioDataArrNum];for (int i 0; i audioDataArrNum; i){waveHdrArr[i].lpData new char[audioDataSize];waveHdrArr[i].dwBufferLength audioDataSize;waveHdrArr[i].dwBytesRecorded 0;waveHdrArr[i].dwUser NULL;waveHdrArr[i].dwFlags 0;waveHdrArr[i].dwLoops 1;waveHdrArr[i].lpNext NULL;waveHdrArr[i].reserved 0;waveInPrepareHeader(hWaveIn, waveHdrArr[i], sizeof(WAVEHDR));waveInAddBuffer(hWaveIn, waveHdrArr[i], sizeof(WAVEHDR));}waveInStart(hWaveIn); }DWORD CALLBACK fmle::micCallback(HWAVEIN hwavein, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2) {switch (uMsg){case WIM_OPEN:TRACE(WIM_OPEN\n);break;case WIM_DATA:{//TRACE(WIM_DATA\n);LPWAVEHDR pwh (LPWAVEHDR)dwParam1;if (pwh-dwBytesRecorded 0){EnterCriticalSection(pThis-queLock);pThis-tmpAudioQueObj.type 0;pThis-tmpAudioQueObj.dataArr pwh-lpData;pThis-tmpAudioQueObj.dataLen pwh-dwBytesRecorded;pThis-inAudioQue.push(pThis-tmpAudioQueObj);if (pThis-inAudioQue.size() pThis-audioDataArrNum){pThis-inAudioQue.front().dataLen 0;pThis-inAudioQue.front().dataArr NULL;pThis-inAudioQue.front().dataLen NULL;delete[]pThis-inAudioQue.front().dataArr;pThis-inAudioQue.pop();}LeaveCriticalSection(pThis-queLock);}waveInAddBuffer(pThis-hWaveIn, pwh, sizeof(WAVEHDR));TRACE(pThis-inAudioQue.size():%d\n, pThis-inAudioQue.size());}break;case WIM_CLOSE:TRACE(WIM_CLOSE\n);waveInStop(pThis-hWaveIn);waveInReset(pThis-hWaveIn);waveInClose(pThis-hWaveIn);break;default:break;}return 0; } 2.将麦克风数据存成文件检测是否正常 上述方法虽然可以将麦克风数据存入队列备用但我们如何知道它是否正确捕获了呢我们可以把捕获的pcm数据先存入文件 FILE *pcmFile; fopen_s(pcmFile, rec.pcm, wb); fwrite(pwh-lpData, 1, pwh-dwBytesRecorded, pcmFile); 想一想上述代码应该分别加在什么地方呢 录制pcm文件后可以使用Audacity来导入pcm文件测试录制数据是否正确。
http://www.tj-hxxt.cn/news/229992.html

相关文章:

  • 建筑公司网站源码开源网站建设 杭州
  • 网站建设的流程 步骤wordpress腾讯云插件下载
  • 什么网站可以做相册做家政的在哪些网站推广
  • 招代理网站建设公司免费下载app应用软件
  • 诚信网站认证必需做吗搜索引擎优化完整过程
  • 网站建设项目考察范文泰州seo网络推广
  • 增城建设局网站长沙高新区住房和建设管理局网站
  • 网站建设的感想深圳手机商城网站设计公司
  • 电信专线可以做网站吗营销型企业网站建设
  • 网站如何做服务器授权书seo海外
  • 全国开发一个网站需要多少钱mil后缀网站
  • 网站建设所需做二手钢结构网站有哪些
  • 养生网站策划wordpress模板获取不到分类
  • 军事信息化建设网站o2o网站建设行情
  • 学校建设网站拓扑图wordpress响应网页代码
  • 自己搞网站建设建设工程合同印花税
  • 浙江建设网站首页天堂tv在线观看免费
  • 手机能创建网站吗珠海住建网站
  • 成都锦江区网站建设公司wordpress调用阅读量
  • 做团餐 承包食堂的企业网站商城网站建设运营协议书
  • 郑州网站推广外包宣传彩页设计
  • 广西网站建设招标公司wap网站建设免费
  • 广州网站建设公司小程序网站自适应案例
  • 北京网站备案拍照地址鼓楼免费网页设计生成器
  • 网站建设与网站优化中国城乡建设部官网
  • 厦门it做网站最强软件开发需要学什么语言
  • 优秀国内个人网站网址做外贸的有哪些网站
  • 引物在线设计网站企业简介宣传片视频
  • 福州网站建设方案四大门户网站流量对比
  • 湖南省网站备案网站电脑基础培训班