void CRecordToMFCDlg::OnBnClickedButton7()
{
/*TCHAR szFilter[] = _T("모든 파일(*.wav) || *.wav ||");
CFileDialog dlg(FALSE, _T("all files"), _T("*.wav"),OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT, szFilter);
if (dlg.DoModal() == IDOK)
{
AfxMessageBox(dlg.GetPathName());
}*/
TCHAR szFilter[] = _T("wavefile(*.wav) || *.wav ||");
CFileDialog dlgFile
(false, _T("wavefile files"), _T("*.wav"), /*OFN_HIDEREADONLY |*/ OFN_OVERWRITEPROMPT, szFilter);
if (IDOK == dlgFile.DoModal())
{
CString strPathName = dlgFile.GetPathName();
CFile fScheduleWrite;
if (!fScheduleWrite.Open
(strPathName, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary))
{
AfxMessageBox(_T("File Write Open Error"));
return;
}
}
}
此代码可以保存文件,但是没有数据,我认为该代码无法保存我的记录文件,因为它无法接收记录数据。我怎么解决这个问题?是否需要相关的wave文件标题或格式?请回答我,如有必要,请上传标头和代码。请
答案 0 :(得分:1)
您显示的代码从用户获取目标文件名,然后创建文件,但不会尝试将任何数据写入该文件。
fScheduleWrite.Open()
成功后,您需要根据需要将WAV数据写入文件。
这里没有人可以帮助您,因为您没有指出WAV数据来自何处或如何生成,因此您可以访问它进行保存。可以产生WAV数据的方式很多,API也很多,很多库。