Формат Wave-файла

Советы » Аудио » Формат Wave-файла

Вот он:

TWaveHeader = record

Marker1: Array

[0..3] of

Char; BytesFollowing: LongInt; Marker2: Array

[0..3] of

Char; Marker3: Array

[0..3] of

Char; Fixed1: LongInt; FormatTag: Word; Channels: Word; SampleRate: LongInt; BytesPerSecond: LongInt; BytesPerSample: Word; BitsPerSample: Word; Marker4: Array

[0..3] of

Char; DataBytes: LongInt; end

;

Для создания собственного WAV-файла сделайте следующее:

DataBytes := Channels;
DataBytes := DataBytes * SampleRate;
DataBytes := DataBytes * Resolution;
DataBytes := DataBytes div

8; DataBytes := DataBytes * Duration; DataBytes := DataBytes div

1000; WaveHeader.Marker1 := 'RIFF'; WaveHeader.BytesFollowing := DataBytes + 36; WaveHeader.Marker2 := 'WAVE'; WaveHeader.Marker3 := 'fmt '; WaveHeader.Fixed1 := 16; WaveHeader.FormatTag := 1; WaveHeader.SampleRate := SampleRate; WaveHeader.Channels := Channels; WaveHeader.BytesPerSecond := Channels; WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond * SampleRate; WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond * Resolution; WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond div

8; WaveHeader.BytesPerSample := Channels * Resolution div

8; WaveHeader.BitsPerSample := Resolution; WaveHeader.Marker4 := 'data'; WaveHeader.DataBytes := DataBytes;

Остальная часть файлы является звуковыми данными. Порядок следования: верхний уровень для левого канала, верхний уровень для правого канала и так далее. Для моно или 8-битных файлов сделайте соответствующие изменения.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com