正在加载图片...
中国科学技术大学电子工程与信息科学系多媒体通信实验室(Copyright2002) pInBuffer2 =(char *)GlobalAllocPtr(GHNDIGMEM SHARE,PCMBUFFER SIZE); ∥初始化缓冲区控制变量,首先使用第一个缓冲区 m RecFirst=TRUE 在录音过程中用了两个录音缓冲区pInBuffer1、pInBuffer2,大小都是360*8。录音过程 中轮流使用pInBuffer1和pInBuffer2.,通过存取BOOL变量m_RecFirst来标志正在使用的是 哪一个录音缓冲区。 (3)接收程序中有关声音的参数 程序中有关声音的参数定义如下: char pOutBufferl; 川放音缓冲区1 char pOutBuffer2: ∥放音缓冲区2 char rBuffer; /接收缓冲区No USE HWAVEOUT hWaveOut: 录音设备标志 LPWAVEHDR pWaveHdrl; ∥设备设置头1 LPWAVEHDR pWaveHdr2: /∥设备设置头2 MMRESULT result: PCMWAVEFORMAT pcm; 波形数据格式 BOOL m PlayFirst: 缓冲区使用标志 以上用到的结构体在实验原理的第一部分中有较为简洁的说明。如果看完了实验原理第 一部分以后仍然对WINDOWS中有关多媒体部分的结构定义不太清楚的话,请仔细阅读VC 中的相关帮助或到查询其他有关的书籍。 在程序的初始化部分对声音采样的有关参数进行赋值 //Format of voice:16 bits,11.025kHz,mono audio pcm.wf.wFormatTag=WAVE FORMAT PCM;∥格式为PCM pcm.wf.nChannels=1; /单声道mono pcm.wf.nSamplesPerSec=8000: /采样率 pcm.wf.nAvgBytesPerSec=8000*2: /数据率 pcm.wf.nBlockAlign=2; ∥每样点的字节数 pcm.wBitsPerSample=16; 采样精度 并且分配缓冲区所需要的内存 pWaveHdrl=(LPWAVEHDR)GlobalAllocPtr(GHNDJGMEM SHARE.sizeof(WAVEHDR)): pWaveHdr2 =(LPWAVEHDR)GlobalAllocPtr(GHNDIGMEM SHARE,sizeof(WAVEHDR)); ∥放音缓冲区 pOutBufferl =(char *)GlobalAllocPtr(GHNDIGMEM SHARE,PCMBUFFER SIZE); pOutBuffer2 =(char *)GlobalAllocPtr(GHNDIGMEM SHARE.PCMBUFFER SIZE): 接收缓冲区 rBuffer =(char *)GlobalAllocPtr(GHNDGMEM SHARE.PCMBUFFER SIZE): 初始化缓冲区控制变量,首先使用第一个缓冲区 m PlayFirst=TRUE: 在放音过程中用了两个放音缓冲区pOutBuffer1、pOutBuffer2,大小都是360*8。录音 如果您在阅读过程中发现疏漏和错误,请您尽快和编者取得联系network@ustc.edu.cn cxh@ustc.cdu.cn中国科学技术大学电子工程与信息科学系 多媒体通信实验室(Copyright 2002) pInBuffer2 =(char *)GlobalAllocPtr(GHND|GMEM_SHARE,PCMBUFFER_SIZE); //初始化缓冲区控制变量,首先使用第一个缓冲区 m_RecFirst=TRUE; 在录音过程中用了两个录音缓冲区 pInBuffer1、pInBuffer2,大小都是 360*8。录音过程 中轮流使用 pInBuffer1 和 pInBuffer2,通过存取 BOOL 变量 m_RecFirst 来标志正在使用的是 哪一个录音缓冲区。 (3) 接收程序中有关声音的参数 程序中有关声音的参数定义如下: char * pOutBuffer1; //放音缓冲区 1 char * pOutBuffer2; //放音缓冲区 2 char * rBuffer; //接收缓冲区 No USE HWAVEOUT hWaveOut; //录音设备标志 LPWAVEHDR pWaveHdr1; //设备设置头 1 LPWAVEHDR pWaveHdr2; //设备设置头 2 MMRESULT result; PCMWAVEFORMAT pcm; //波形数据格式 BOOL m_PlayFirst; //缓冲区使用标志 以上用到的结构体在实验原理的第一部分中有较为简洁的说明。如果看完了实验原理第 一部分以后仍然对 WINDOWS 中有关多媒体部分的结构定义不太清楚的话,请仔细阅读 VC 中的相关帮助或到查询其他有关的书籍。 在程序的初始化部分对声音采样的有关参数进行赋值 //Format of voice: 16 bits,11.025kHz,mono audio pcm.wf.wFormatTag=WAVE_FORMAT_PCM; //格式为 PCM pcm.wf.nChannels=1; //单声道 mono pcm.wf.nSamplesPerSec=8000; //采样率 pcm.wf.nAvgBytesPerSec=8000*2; //数据率 pcm.wf.nBlockAlign=2; //每样点的字节数 pcm.wBitsPerSample=16; //采样精度 并且分配缓冲区所需要的内存 pWaveHdr1 =(LPWAVEHDR)GlobalAllocPtr(GHND|GMEM_SHARE,sizeof(WAVEHDR)); pWaveHdr2 =(LPWAVEHDR)GlobalAllocPtr(GHND|GMEM_SHARE,sizeof(WAVEHDR)); //放音缓冲区 pOutBuffer1 =(char *)GlobalAllocPtr(GHND|GMEM_SHARE,PCMBUFFER_SIZE); pOutBuffer2 =(char *)GlobalAllocPtr(GHND|GMEM_SHARE,PCMBUFFER_SIZE); //接收缓冲区 rBuffer =(char *)GlobalAllocPtr(GHND|GMEM_SHARE,PCMBUFFER_SIZE); //初始化缓冲区控制变量,首先使用第一个缓冲区 m_PlayFirst=TRUE; 在放音过程中用了两个放音缓冲区 pOutBuffer1、pOutBuffer2,大小都是 360*8。录音 如果您在阅读过程中发现疏漏和错误,请您尽快和编者取得联系 network@ustc.edu.cn cxh@ustc.edu.cn
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有