api 层实现语音录制 - 技术文档 - vc文档 - 平台sdk - 立华软件园.htm

来自「语音与识别技术包含很多C语言处理模块系统」· HTM 代码 · 共 1,001 行 · 第 1/5 页

HTM
1,001
字号
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">} // 
            End of 验证开辟缓冲
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;resPrepare 
            = waveInAddBuffer( m_hWaveIn, &amp;m_pWaveHdr, sizeof(WAVEHDR) );
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">if ( 
            resPrepare == MMSYSERR_NOERROR) log.write("准备录音用内存成功");
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;else&nbsp;{
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;&nbsp; 
            wsprintf(lpTemp, "不能开辟录音用缓冲,Error_Code = 0x%03X", resPrepare );
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;&nbsp; 
            log.write(lpTemp);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">} // 
            End of 验证开辟缓冲
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;log.write("");&nbsp;// 
            写入空字符串可以分行
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;if 
            (! waveInStart(m_hWaveIn) ) log.write("开始录音"); else 
            log.write("开始录音失败");
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;Sleep(3200);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">MMTIME 
            mmt;
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">mmt.wType 
            = TIME_BYTES;
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">log.numberwrite( 
            "sizeof(MMTIME) =", sizeof(MMTIME) );
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">log.numberwrite( 
            "sizeof(UINT) =", sizeof(UINT) );
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">if ( 
            waveInGetPosition(m_hWaveIn, &amp;mmt, sizeof(MMTIME)) ) 
            log.write("不能取得音频长度"); 
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;else 
            log.numberwrite( "取得现在音频位置 =", mmt.u.cb );
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">if 
            (mmt.wType == TIME_BYTES) { log.write("得到的 TIME_BYTES 格式的音频长度"); }
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp; 
            else log.write("指定的 TIME_BYTES 格式音频长度不支持");
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">//&nbsp;if 
            (! waveInStop(m_hWaveIn) )&nbsp;log.write("停止录音"); else&nbsp; 
            log.write("停止录音失败");
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;if 
            (! waveInReset(m_hWaveIn) )&nbsp;log.write("重置内存区成功"); else 
            log.write("重置内存区失败");
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">m_pWaveHdr.dwBytesRecorded 
            = mmt.u.cb;
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">DWORD 
            NumToWrite=0;&nbsp;DWORD dwNumber = 0;
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">HANDLE 
            FileHandle = 
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;&nbsp;&nbsp; 
            CreateFile( "myTest.wav", GENERIC_WRITE, FILE_SHARE_READ, NULL, 
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">//&nbsp;memset(m_pWaveHdr.lpData, 
            0, datasize);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">dwNumber = 
            FCC("RIFF");
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">WriteFile(FileHandle, 
            &amp;dwNumber, 4, &amp;NumToWrite, NULL);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">dwNumber = 
            m_pWaveHdr.dwBytesRecorded + 18 + 20;
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">WriteFile(FileHandle, 
            &amp;dwNumber, 4, &amp;NumToWrite, NULL);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">dwNumber = 
            FCC("WAVE");
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">WriteFile(FileHandle, 
            &amp;dwNumber, 4, &amp;NumToWrite, NULL);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">dwNumber = 
            FCC("fmt ");
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">WriteFile(FileHandle, 
            &amp;dwNumber, 4, &amp;NumToWrite, NULL);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">dwNumber = 
            18L;
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 
            style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">WriteFile(FileHandle, 
            &amp;dwNumber, 4, &amp;NumToWrite, NULL);
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P style="MARGIN: 5px; TEXT-INDENT: 26px; LINE-HEIGHT: 150%">
            <P 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?