VC++ 2010
目前使用的
#pragma comment(lib, "winmm.lib")
#pragma comment (lib,"dsound.lib")
#pragma comment (lib,"strmiids.lib")
現在我可以成功錄音,但錄製出的聲音是
.wav檔案,
單聲道,
取樣頻率11025,
我想左的是44100 CD音質的取樣,位元率96Kbps,
請問MCI有這功能改嗎?研究快一天了~
錄音部分的程式碼:
//***************************************************************************
MCIWndClose(mciwav); //打?一??音的之前??以前的?音
mciwav = MCIWndCreate(this->m_hWnd,AfxGetApp()->m_hInstance,WS_CAPTION,NULL);
MCIWndNew(mciwav,"waveaudio");
if(MCIWndCanRecord(mciwav))
{
MCIWndRecord(mciwav);
}
//***************************************************************************
//存檔部分的程式碼:
CString m_Path="";
if(m_Path==""){
CFileDialog wav(FALSE,NULL,NULL,OFN_ALLOWMULTISELECT,"wav File (*.wav)|*.wav");
m_Path = wav.GetPathName()+"闖碼頭.wav";
if(MCIWndCanSave(mciwav)&&m_Path!="")
{
MCIWndSave(mciwav, "a");
CopyFile("a",m_Path,FALSE);
}else
AfxMessageBox("error save() in class waverecorder");
}
//***************************************************************************
其中mciwav的宣告型態為HWND,
這樣的錄製方式似乎是把WINDOWS上所有產生聲音的音效都抓出來,不能指定我的麥克風
左聲道或者右聲道所接收的聲音。
現在我已經知道我的麥克風是用USB2.0 CAMERA內建的雙聲道麥克風,
請問要怎麼把這個麥克風做Initial()喚醒?並且可以對左聲道或者右聲道做截取?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.96.29
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1440243110.A.219.html
※ 編輯: wowrz (111.241.96.29), 08/22/2015 19:35:23