WAVEヘッダ読み出し

フォーマットは以下のサイトを参考。

http://homepage3.nifty.com/sabanisoft/pgroom/pr_wave.html

http://www.sonicspot.com/guide/wavefiles.html

var
fs: TFileStream;
fmt: MMSystem.TWaveFormatEx;
begin
fs := TFileStream.Create(filename, fmOpenRead);
fs.Seek(20, soFromBeginning);    // Sample Format Info から読み出す
fs.ReadBuffer(fmt, Sizeof(fmt));
OutputDebugString(PChar(Format('Compression code [%d]', [fmt.wFormatTag])));
OutputDebugString(PChar(Format('Number of channels [%d]', [fmt.nChannels])));
OutputDebugString(PChar(Format('Sample rate [%d]', [fmt.nSamplesPerSec])));
OutputDebugString(PChar(Format('Average bytes per second [%d]', [fmt.nAvgBytesPerSec])));
OutputDebugString(PChar(Format('Block align [%d]', [fmt.nBlockAlign])));
OutputDebugString(PChar(Format('Significant bits per sample [%d]', [fmt.wBitsPerSample])));
OutputDebugString(PChar(Format('Extra format bytes? [%d]', [fmt.cbSize])));
fs.Free;
end;

{
ODS: Compression code [1] プロセス Sample.exe (2244)
ODS: Number of channels [1] プロセス Sample.exe (2244)
ODS: Sample rate [44100] プロセス Sample.exe (2244)
ODS: Average bytes per second [88200] プロセス Sample.exe (2244)
ODS: Block align [2] プロセス Sample.exe (2244)
ODS: Significant bits per sample [16] プロセス Sample.exe (2244)
ODS: Extra format bytes? [24932] プロセス Sample.exe (2244)
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です