C
So ich hab noch einmal was probiert was ich in einem Beispiel gefunden habe...
FILE* pWaveFile = fopen(WaveDataFile, "rb");
fseek(pWaveFile, 0, SEEK_SET);
//Reading the Header
TotalRead = fread(szChunkId1, 1, 4, pWaveFile);
TotalRead = fread(&szChunkSize1, 1, 4, pWaveFile);
TotalRead = fread(szFormat, 1, 4, pWaveFile);
TotalRead = fread(szSubChunkId1, 1, 4, pWaveFile);
TotalRead = fread(&szSubChunkSize1, 1, 4, pWaveFile);
TotalRead = fread(&szAudioFormat, 1, 2, pWaveFile);
TotalRead = fread(&szNumChannels, 1, 2, pWaveFile);
TotalRead = fread(&szSampleRate, 1, 4, pWaveFile);
TotalRead = fread(&szByteRate, 1, 4, pWaveFile);
TotalRead = fread(&szBlockAlign, 1, 2, pWaveFile);
TotalRead = fread(&szBitsPerSample, 1, 2, pWaveFile);
TotalRead = fread(szSubChunkId2, 1, 4, pWaveFile);
ToalRead = fread(&szDataSize, 1, 4, pWaveFile);
//Reading DataChunk
int nWaveSize = szDataSize / szBlockAlign;
short *pData;
pData =(short*)malloc(2*nWaveSize);
for(int i = 0; i < nWaveSize; i++)
{
fread(&pData[i], 1, 1, pWaveFile);
}
fclose(pWaveFile);
So lese ich jetzt die gesamte WaveDatei aus...
Geöffnet wird sie als Binary.
Erstmal die Frage ist das so korrekt?
Und 2. weiß ich noch nicht so recht wie ich hier jetzt meine 160b großen Blöcke am besten aus dem Pointer ziehe...
Versucht habe ich es bereits...immer 160bytes lesen...offset wegschreiben...Datenblock nehmen und codieren und versenden...
Jeand noch ne Idee wie es besser gehen könnte?