首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

用waveInOpen采集到的mic音频流,不保存到文件,可以直接播放吗解决办法

2012-02-08 
用waveInOpen采集到的mic音频流,不保存到文件,可以直接播放吗 - C++ Builder / Windows SDK/API我是把采集

用waveInOpen采集到的mic音频流,不保存到文件,可以直接播放吗 - C++ Builder / Windows SDK/API
我是把采集到的数据保存到TMemorystream里面的,可不可以直接回放采集到的音频流呢?如果可以,怎么回放?


[解决办法]
花了点时间给你抄了段代码,直接放到你上次贴子那段里面就能测试了。

C/C++ code
//------------------------------#define BLOCK_SIZE  8192#define BLOCK_COUNT 20/* * function prototypes */ static void CALLBACK waveOutProc(HWAVEOUT, UINT, DWORD, DWORD, DWORD);static WAVEHDR* allocateBlocks(int size, int count);static void freeBlocks(WAVEHDR* blockArray);static void writeAudio(HWAVEOUT hWaveOut, LPSTR data, int size);/* * module level variables */static CRITICAL_SECTION waveCriticalSection;static WAVEHDR*         waveBlocks;static volatile int     waveFreeBlockCount;static int              waveCurrentBlock;//----------------------void __fastcall TForm1::PlaySoundFormStream( TMemoryStream *pmem){    HWAVEOUT hWaveOut; /* device handle */    WAVEFORMATEX wfx;  /* look this up in your documentation */    int i;    waveBlocks         = allocateBlocks(BLOCK_SIZE, BLOCK_COUNT);    waveFreeBlockCount = BLOCK_COUNT;    waveCurrentBlock   = 0;        InitializeCriticalSection(&waveCriticalSection);        /*     * set up the WAVEFORMATEX structure.     */    wfx.nSamplesPerSec  = 44100;  /* sample-------- 

热点排行