请问有谁做过类似WINDOWS的录音机,进行录音,录音文件的属性是 A_LAW 8KZ 8位 单声道的。
请问有谁做过类似WINDOWS的录音机,进行录音,录音文件的属性是 A_LAW 8KZ 8位 单声道的。或者是 PCM 8KZ 8位,单声道的软件,能不能提供点资料或源代码,多谢。 问题点数:50、回复次数:4Top
1 楼HenryGo(孺子牛)回复于 2003-12-01 18:34:50 得分 1
upTop
2 楼constantine(飘遥的安吉儿)回复于 2003-12-01 21:00:30 得分 1
好象Chainbcb那里有类似的治料。要不就下个控件看看。
你不急的话,等我考试后帮你找找看,我机子不知道还有没有有。上次不小心删了很多资料。Top
3 楼gloom(苍狗白云)回复于 2003-12-04 15:14:00 得分 1
http://www.chinabcb.com/bbs/viewtopic.php?t=162&highlight=%D3%EF%D2%F4%C1%C4%CC%ECTop
4 楼ccrun(老妖)(www.ccrun.com)回复于 2003-12-04 18:16:31 得分 47
// 如何录制一段声音
#include "mmsystem.h"
char szBuf[256];
void __fastcall TForm1::cmdStartClick(TObject *Sender)
{
mciSendString("Open New type WaveAudio alias wave", szBuf, 256, 0);
// 使用8位
mciSendString("set wave bitpersample 8", szBuf, 256, 0);
// 11025Hz
mciSendString("set wave samplespersec 11025", szBuf, 256, 0);
// 立体声(双声道)
mciSendString("set wave channels 2", szBuf, 256, 0);
// 开始录音...
mciSendString("record wave", szBuf, 256, 0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::cmdStopClick(TObject *Sender)
{
// 停止录制并保存到声音文件
String strCommand;
mciSendString("stop wave", szBuf, 256, 0);
strCommand = "save wave " + ExtractFilePath(Application->ExeName) + "Test.Wav";
mciSendString(strCommand.c_str(), szBuf, 256, 0);
mciSendString("close wave", szBuf, 256, 0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::cmdPlayClick(TObject *Sender)
{
// 播放录制的声音
String strCommand;
String strWavFileName = ExtractFilePath(Application->ExeName) + "Test.Wav";
if(FileExists(strWavFileName))
{
strCommand = "play " + strWavFileName + "\Test.Wav";
mciSendString(strCommand.c_str(), szBuf, 256, 0);
}
else
MessageBox(Handle, "还没有声音文件 Test.Wav", "提示", MB_OK);
}
//---------------------------------------------------------------------------Top




