wave底层接口的实现
标签:
•
文件类型: .rar
•
文件大小: 37.9MB
•
下载次数: 1
•
wave底层接口的简单应用
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5604864 2016-11-10 15:22 wave底层接口Debugwave底层接口.exe
文件 13427164 2016-11-10 15:22 wave底层接口Debugwave底层接口.ilk
文件 22522880 2016-11-10 15:22 wave底层接口Debugwave底层接口.pdb
文件 1729024 2016-11-10 10:53 wave底层接口Releasewave底层接口.exe
文件 13896704 2016-11-10 10:53 wave底层接口Releasewave底层接口.pdb
文件 6260 2016-11-10 15:22 wave底层接口wave底层接口DebugBuildLog.htm
文件 6656 2016-11-09 14:15 wave底层接口wave底层接口DebugGWave.obj
文件 13846 2016-11-10 15:22 wave底层接口wave底层接口DebugGWaveIn.obj
文件 12952 2016-11-10 09:45 wave底层接口wave底层接口DebugGWaveOut.obj
文件 65 2016-11-10 15:22 wave底层接口wave底层接口Debugmt.dep
文件 612295 2016-11-09 14:10 wave底层接口wave底层接口Debugstdafx.obj
文件 1895424 2016-11-10 15:22 wave底层接口wave底层接口Debugvc90.idb
文件 3182592 2016-11-10 15:22 wave底层接口wave底层接口Debugvc90.pdb
文件 406 2016-11-09 14:11 wave底层接口wave底层接口Debugwave底层接口.exe.embed.manifest
文件 472 2016-11-09 14:11 wave底层接口wave底层接口Debugwave底层接口.exe.embed.manifest.res
文件 381 2016-11-10 15:22 wave底层接口wave底层接口Debugwave底层接口.exe.intermediate.manifest
文件 25746 2016-11-10 15:22 wave底层接口wave底层接口Debugwave底层接口.obj
文件 41091072 2016-11-09 14:10 wave底层接口wave底层接口Debugwave底层接口.pch
文件 79440 2016-11-10 10:22 wave底层接口wave底层接口Debugwave底层接口.res
文件 79988 2016-11-10 15:22 wave底层接口wave底层接口Debugwave底层接口Dlg.obj
文件 2601 2016-11-10 09:45 wave底层接口wave底层接口GWaveIn.cpp
文件 473 2016-11-10 15:22 wave底层接口wave底层接口GWaveIn.h
文件 2442 2016-11-10 09:45 wave底层接口wave底层接口GWaveOut.cpp
文件 404 2016-11-10 09:42 wave底层接口wave底层接口GWaveOut.h
文件 2819 2016-11-09 14:10 wave底层接口wave底层接口ReadMe.txt
文件 6150 2016-11-10 10:53 wave底层接口wave底层接口ReleaseBuildLog.htm
文件 34171 2016-11-10 10:46 wave底层接口wave底层接口ReleaseGWaveIn.obj
文件 33632 2016-11-10 10:46 wave底层接口wave底层接口ReleaseGWaveOut.obj
文件 65 2016-11-10 10:53 wave底层接口wave底层接口Releasemt.dep
文件 4530485 2016-11-10 10:46 wave底层接口wave底层接口Releasestdafx.obj
............此处省略34个文件信息
#include “StdAfx.h“
#include “GWaveIn.h“
GWaveIn::GWaveIn(void)
{
}
GWaveIn::~GWaveIn(void)
{
}
bool GWaveIn::IfWaveIn()
{
MMRESULT mmresult = 0;
mmresult = waveInGetNumDevs();
if(mmresult == 0) return false;
WAVEINCAPS waveincaps = {0};
unsigned int i = 0;
unsigned int num = mmresult;
for( ; i {
mmresult = waveInGetDevCaps(i&waveincapssizeof(WAVEINCAPS));
if(mmresult != MMSYSERR_NOERROR)
return false;
if((waveincaps.dwFormats & WAVE_FORMAT_1M08) == 0)
continue;
else
{
m_iWaveInID = i;
return true;
}
}
return false;
}
bool GWaveIn::PrepareWaveIn(HWND hwnd BYTE* pbuf1 BYTE* pbuf2)
{
WAVEFORMATEX waveformatex = {0};
waveformatex.wFormatTag = WAVE_FORMAT_PCM;
waveformatex.nChannels = 1;
waveformatex.nSamplesPerSec = 11025;
waveformatex.nAvgBytesPerSec = 11025*1*8/8;
waveformatex.nBlockAlign = 8*1/8;
waveformatex.wBitsPerSample = 8;
waveformatex.cbSize = 0;
MMRESULT mmresult = 0;
mmresult = waveInOpen(&m_hWaveInm_iWaveInID&waveformatex(DWORD)hwnd0CALLBACK_WINDOW);
if(mmresult != MMSYSERR_NOERROR) return false;
m_head1.lpData = (LPSTR)pbuf1;
m_head1.dwBufferLength = 20480;
m_head1.dwBytesRecorded = 0;
m_head1.dwUser = 0;
m_head1.dwFlags = 0;
m_head1.dwLoops = 1;
m_head1.lpNext = NULL;
m_head1.reserved = 0;
mmresult = waveInPrepareHeader(m_hWaveIn&m_head1sizeof(WAVEHDR));
if(mmresult != MMSYSERR_NOERROR) return false;
m_head2.lpData = (LPSTR)pbuf2;
m_head2.dwBufferLength = 20480;
m_head2.dwBytesRecorded = 0;
m_head2.dwUser = 0;
m_head2.dwFlags = 0;
m_head2.dwLoops = 1;
m_head2.lpNext = NULL;
m_head2.reserved = 0;
mmresult = waveInPrepareHeader(m_hWaveIn&m_head2sizeof(WAVEHDR));
if(mmresult != MMSYSERR_NOERROR) return false;
return true;
}
bool GWaveIn::AddBuffer(PWAVEHDR pwavehdr)
{
MMRESULT mmresult = 0;
mmresult = waveInAddBuffer(m_hWaveInpwavehdrsizeof(WAVEHDR));
if(mmresult != MMSYSERR_NOERROR) return false;
return true;
}
bool GWaveIn::StartRec()
{
MMRESULT mmresult = 0;
mmresult = waveInStart(m_hWaveIn);
if(mmresult != MMSYSERR_NOERROR) return false;
return true;
}
bool GWaveIn::CloseWaveIn()
{
MMRESULT mmresult = 0;
waveInStop(m_hWaveIn);
waveInReset(m_hWaveIn);
waveInClose(m_hWaveIn);
if(m_head1.lpData != NULL) free(m_head1.lpData);
waveInUnprepareHeader(m_hWaveIn&m_head1sizeof(WAVEHDR));
if(m_head2.lpData != NULL) free(m_head2.lpData);
waveInUnprepareHeader(m_hWaveIn&m_head2sizeof(WAVEHDR));
return true;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5604864 2016-11-10 15:22 wave底层接口Debugwave底层接口.exe
文件 13427164 2016-11-10 15:22 wave底层接口Debugwave底层接口.ilk
文件 22522880 2016-11-10 15:22 wave底层接口Debugwave底层接口.pdb
文件 1729024 2016-11-10 10:53 wave底层接口Releasewave底层接口.exe
文件 13896704 2016-11-10 10:53 wave底层接口Releasewave底层接口.pdb
文件 6260 2016-11-10 15:22 wave底层接口wave底层接口DebugBuildLog.htm
文件 6656 2016-11-09 14:15 wave底层接口wave底层接口DebugGWave.obj
文件 13846 2016-11-10 15:22 wave底层接口wave底层接口DebugGWaveIn.obj
文件 12952 2016-11-10 09:45 wave底层接口wave底层接口DebugGWaveOut.obj
文件 65 2016-11-10 15:22 wave底层接口wave底层接口Debugmt.dep
文件 612295 2016-11-09 14:10 wave底层接口wave底层接口Debugstdafx.obj
文件 1895424 2016-11-10 15:22 wave底层接口wave底层接口Debugvc90.idb
文件 3182592 2016-11-10 15:22 wave底层接口wave底层接口Debugvc90.pdb
文件 406 2016-11-09 14:11 wave底层接口wave底层接口Debugwave底层接口.exe.em
文件 472 2016-11-09 14:11 wave底层接口wave底层接口Debugwave底层接口.exe.em
文件 381 2016-11-10 15:22 wave底层接口wave底层接口Debugwave底层接口.exe.intermediate.manifest
文件 25746 2016-11-10 15:22 wave底层接口wave底层接口Debugwave底层接口.obj
文件 41091072 2016-11-09 14:10 wave底层接口wave底层接口Debugwave底层接口.pch
文件 79440 2016-11-10 10:22 wave底层接口wave底层接口Debugwave底层接口.res
文件 79988 2016-11-10 15:22 wave底层接口wave底层接口Debugwave底层接口Dlg.obj
文件 2601 2016-11-10 09:45 wave底层接口wave底层接口GWaveIn.cpp
文件 473 2016-11-10 15:22 wave底层接口wave底层接口GWaveIn.h
文件 2442 2016-11-10 09:45 wave底层接口wave底层接口GWaveOut.cpp
文件 404 2016-11-10 09:42 wave底层接口wave底层接口GWaveOut.h
文件 2819 2016-11-09 14:10 wave底层接口wave底层接口ReadMe.txt
文件 6150 2016-11-10 10:53 wave底层接口wave底层接口ReleaseBuildLog.htm
文件 34171 2016-11-10 10:46 wave底层接口wave底层接口ReleaseGWaveIn.obj
文件 33632 2016-11-10 10:46 wave底层接口wave底层接口ReleaseGWaveOut.obj
文件 65 2016-11-10 10:53 wave底层接口wave底层接口Releasemt.dep
文件 4530485 2016-11-10 10:46 wave底层接口wave底层接口Releasestdafx.obj
............此处省略34个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)