#include #include bool AVIWaveFormatEx::read(File &inFile) { Array extraInfo; DWORD dwParam; WORD wParam; inFile.read(wParam); formatTag(wParam); inFile.read(wParam); channels(wParam); inFile.read(dwParam); samplesPerSecond(dwParam); inFile.read(dwParam); averageBytesPerSecond(dwParam); inFile.read(wParam); blockAlign(wParam); inFile.read(wParam); bitsPerSample(wParam); inFile.read(wParam); size(wParam); extraInfo.size(size()); inFile.read((char*)&extraInfo[0],extraInfo.size()); return true; } bool AVIWaveFormatEx::write(File &outFile) { Array extraInfo; DWORD dwParam; WORD wParam; wParam=formatTag(); outFile.write(wParam); wParam=channels; outFile.write(wParam); dwParam=samplesPerSecond(); outFile.write(dwParam); dwParam=averageBytesPerSecond(); outFile.write(dwParam); wParam=blockAlign(); outFile.write(wParam); wParam=bitsPerSample(); outFile.write(wParam); wParam=0; // no extra info outFile.write(wParam); return true; } String AVIWaveFormatEx::toString(void)const { String str; str+=String("[AVIWaveFormatEx::toString]WAVEFORMATEX::wFormatTag=")+String().fromInt(formatTag())+String("\n"); str+=String("[AVIWaveFormatEx::toString]WAVEFORMATEX::nChannels=")+String().fromInt(channels())+String("\n"); str+=String("[AVIWaveFormatEx::toString]WAVEFORMATEX::nSamplesPerSec=")+String().fromInt(samplesPerSecond())+String("\n"); str+=String("[AVIWaveFormatEx::toString]WAVEFORMATEX::nAvgBytesPerSec=")+String().fromInt(averageBytesPerSecond())+String("\n"); str+=String("[AVIWaveFormatEx::toString]WAVEFORMATEX::nBlockAlign=")+String().fromInt(blockAlign())+String("\n"); str+=String("[AVIWaveFormatEx::toString]WAVEFORMATEX::wBitsPerSample=")+String().fromInt(bitsPerSample())+String("\n"); str+=String("[AVIWaveFormatEx::toString]WAVEFORMATEX::cbSize=")+String().fromInt(size())+String("\n"); return str; }