Форум: "Media";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
ВнизWave-header Найти похожие ветки
← →
GlavBOTan © (2004-04-30 22:20) [0]Еще один вопрос про wave:
Опытным путем (открытием в блокноте :) было установленно, что в начале файла имеется какая-то служебная информация (то ли метод кодировки, то ли еще что-то). Кто знает, что это такое, и сколько места оно занимает в файле (например, 128 первых байт), пожалуйста отзовитесь. А еще лучше киньте мне ссылочку на ресурс с описанием (желательно на русском и для чайников, но на английском и для профи тоже приветствуется) wave-формата, если таковая есть. Заранее благодарен.
← →
x3{neon} (2004-04-30 22:44) [1]Вот заголовок wav файла:
type WAVHeader = record
nChannels : Word;
nBitsPerSample : LongInt;
nSamplesPerSec : LongInt;
nAvgBytesPerSec : LongInt;
RIFFSize : LongInt;
fmtSize : LongInt;
formatTag : Word;
nBlockAlign : LongInt;
DataSize : LongInt;
end;
А вот формат:
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;
Может быть поможет
← →
konstantinov © (2004-05-01 00:26) [2]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;
Остальная часть файлы является звуковыми данными.
← →
wicked © (2004-05-01 14:23) [3]по сабж -
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_waveformatex_str.asp
а также функции mmioOpen/mmioDescend/mmioAscend/mmioRead/mmioClose (линк тот же, там должно быть меню слева)
2 [1] и [2]
и не стыдно неправильную информацию давать?...
← →
GlavBOTan © (2004-05-01 21:29) [4]Всем большое спасибо! Пойду разбираться...
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c