VC++播放音訊檔案和音訊資料的方法
阿新 • • 發佈:2019-02-14
1 int rate=1000; //刺激率
2 int sampleRate = 44100; //取樣率
3 const int NUMPTS = (int) (44100 * 0.5); // 0.5s
4 short int waveOut[NUMPTS];//音訊資料
5
6 //內容
7 for (int i=0;i<NUMPTS;i++)
8 {
9 waveOut[i] = (short int)ceil(sin(2*3.1415926*rate*i/sampleRate)*20000);
10 }
11 //格式
12 WAVEFORMATEX pFormat;
13 pFormat.wFormatTag=WAVE_FORMAT_PCM;
14 //simple,uncompressed format
15 pFormat.nChannels=1;//1=mono, 2=stereo
16 pFormat.nSamplesPerSec=sampleRate; // 44100
17 pFormat.nAvgBytesPerSec=sampleRate*2;
18 // = nSamplesPerSec * n.Channels * wBitsPerSample/8
19 pFormat.nBlockAlign=2; // = n.Channels * wBitsPerSample/8
20 pFormat.wBitsPerSample=16;
21 //16 for high quality, 8 for telephone-grade
22 pFormat.cbSize=0;