网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
API层实现语音录制
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
("停止录音"); else   log.write("停止录音失败");



  if (! waveInReset(m_hWaveIn) )  log.write("重置内存区成功"); else log.write("重置内存区失败");





m_pWaveHdr.dwBytesRecorded = mmt.u.cb;







DWORD NumToWrite=0;  DWORD dwNumber = 0;



HANDLE FileHandle =

       CreateFile( "myTest.wav", GENERIC_WRITE, FILE_SHARE_READ, NULL,

                   CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);



//  memset(m_pWaveHdr.lpData, 0, datasize);



dwNumber = FCC("RIFF");

WriteFile(FileHandle, &dwNumber, 4, &NumToWrite, NULL);



dwNumber = m_pWaveHdr.dwBytesRecorded + 18 + 20;

WriteFile(FileHandle, &dwNumber, 4, &NumToWrite, NULL);



dwNumber = FCC("WAVE");

WriteFile(FileHandle, &dwNumber, 4, &NumToWrite, NULL);



dwNumber = FCC("fmt ");

WriteFile(FileHandle, &dwNumber, 4, &NumToWrite, NULL);



dwNumber = 18L;

WriteFile(FileHandle, &dwNumber, 4, &NumToWrite, NULL);



WriteFile(FileHandle, &waveformat, sizeof(WAVEFORMATEX), &NumToWrite, NULL);



dwNumber = FCC("data");

WriteFile(FileHandle, &dwNumber, 4, &NumToWrite, NULL);



dwNumber = m_pWaveHdr.dwBytesRecorded;

WriteFile(FileHandle, &dwNumber, 4, &NumToWrite, NULL);



WriteFile(FileHandle, m_pWaveHdr.lpData, m_pWaveHdr.dwBytesRecorded, &NumToWrite, NULL);



SetEndOfFile(FileHandle);

CloseHandle( FileHandle );    FileHandle = INVALID_HANDLE_VALUE; // 收尾关闭句柄



log.write("应该已生成 myTest.wav 文件");







  if ( waveInUnprepareHeader(m_hWaveIn, &m_pWaveHdr, sizeof(WAVEHDR)) ) log.write("Un_Prepare Header 失败"); else log.write("Un_Prepare Header 成功");



  if ( GlobalFree(GlobalHandle( m_pWaveHdr.lpData )) ) log.write("Global Free 失败"); else log.write("Global Free 成功");







if (res == MMSYSERR_NOERROR )  //关闭录音设备

if (waveInClose(m_hWaveIn)==MMSYSERR_NOERROR)log.write("正常关闭录音设备");

else log.write("非正常关闭录音设备");







    log.last(true);

    // ExitProcess(0);

    return 0;

}



// *******************  End of File  *****************************

  • 下一篇资讯: 用VC++实现版本在线升级
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号