Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.17;
Скачать: CL | DM;

Вниз

Создание WAV файла   Найти похожие ветки 

 
Konstantin_   (2002-06-16 18:28) [0]

Привет всем!

Кто подскажет,как создать пустой файл .WAV

Проблема в том,что компонента MedyaPlayer работает только с созданным файлом,а не позволяет его создать.


 
sevylor ©   (2002-06-19 01:30) [1]

type 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;

procedure CreateWavFile(const aSampleRate,aDuration,aBits,aChannels:integer;
const aName:String);

implementation


procedure CreateWavFile(const aSampleRate,aDuration,aBits,aChannels:integer;
const aName:String);
var WaveHeader:TwaveHeader;
f:file of byte;
DataBytes:integer;
begin
// for Duration=0 (in ms) DataBytes=0
DataBytes := aChannels;
DataBytes := DataBytes * aSampleRate;
DataBytes := DataBytes * aBits;
DataBytes := DataBytes div 8;
DataBytes := DataBytes * aDuration;
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 := aSampleRate;
WaveHeader.Channels := aChannels;
WaveHeader.BytesPerSecond := aChannels;
WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond * aSampleRate;
WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond * aBits;
WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond div 8;
WaveHeader.BytesPerSample := aChannels * aBits div 8;
WaveHeader.BitsPerSample := aBits;
WaveHeader.Marker4 := "data";
WaveHeader.DataBytes := DataBytes;
AssignFile(f,aName);
Rewrite(f);
BlockWrite(f,WaveHeader,SizeOf(WaveHeader));
CloseFile(f);
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2002.10.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-56285
Yuraz
2002-09-23 19:24
2002.10.17
где найти хороший и беспл. firewall (или посоветйте хороший)


3-55954
Bi
2002-09-24 07:49
2002.10.17
Как с помощью ADO получить список всех объктов БД, SQL Server


7-56363
alexsum
2002-08-09 11:54
2002.10.17
Прог не дает перегрузить NT,XP


14-56272
Leran2002
2002-09-23 08:56
2002.10.17
Новый сайт


1-56069
Осирис
2002-10-07 15:07
2002.10.17
Ошибка при вызове формы из dll