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

电子商务网站开发的任务书做百度推广代运营有用吗

电子商务网站开发的任务书,做百度推广代运营有用吗,郑州市二七区建设局 网站,表白网站制作在线今天是2024年1月1日,新年的第一缕阳光已经普照大地,祝愿看到这篇文章的所有程序员或程序爱好者都能在新的一年里持之以恒,事业有成。 今天也是我加入CSDN的第4100天,但回过头看一看,这么长的时间也没有在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.15wanjia.com/news/11188.html

相关文章:

  • wordpress发布文章到指定页面网站建设优化推广
  • 快速网站开发 带数据库2023年九月份新闻
  • 杭州 城西 做网站找小网站的关键词
  • 广州网站优化排名哪家好东莞网站排名推广
  • 做网站都去哪申请网址优化服务是什么意思
  • 网站首页尺寸福州百度关键词优化
  • 网站关键字被改了免费引流推广
  • java做网站合适么怎么搜索网站
  • 中国建设银行官方网站 m.ccb.com百度贴吧人工客服电话
  • 外贸b2c平台都有哪些网站网络营销的优化和推广方式
  • 北京网站建设团队重庆搜索排名提升
  • 重庆专业做网站的公司网站新域名查询
  • h5响应式网站技术域名批量查询系统
  • 海外网站服务器下载宁波优化推广找哪家
  • 手机网站开发 视频成都调查事务所
  • 怎么提高网站的收录量网站排名优化培训
  • 广西今日头条崇左最新消息杭州百度快照优化排名推广
  • 源码WordPressseo排名赚app下载
  • 如何为公司做网站百度app下载安装
  • 电影项目做产品众筹哪个网站好百度应用商店下载安装
  • 杭州企业网站建设方案2024很有可能再次封城吗
  • 视频直播网站如何做唐山seo排名优化
  • 做政府网站个人能做吗seosem是指什么意思
  • 国内网站设计案例欣赏yandx引擎入口
  • 品牌建设的步骤提供seo顾问服务适合的对象是
  • 六安网站制作公司排名线上宣传推广方案
  • 网站采集怎么做公司网站设计要多少钱
  • 惠州seo百度网站排名优化价格
  • 上海企业注销一窗通抖音seo源码搭建
  • 深圳市昊客网络科技有限公司做网络优化的公司排名