Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проиграть несколько wav файлов один за одним?


Mixan ©   (2002-06-29 21:42:00) 

Долго извращался со всякими флажками и таймерами - ничего хорошего не вышло. Дело в том, что задержки между ними быть не должно. Может как-нибудь слить все в один?


VEG   (2002-06-30 12:45:00) [1]

Procedure WaitForMusic;//Ждет освобождения звуковой карты
var
EWaveH :THandle; //TEMP для загрузки пустого звука
EWaveP :Pointer; //TEMP для загрузки пустого звука
begin
If OnMusic then
begin
EWaveH := FindResource(hInstance,"EMPTY",RT_RCDATA);
EWaveH:= LoadResource(hInstance,EWaveH);
EWaveP:=LockResource(EWaveH);
repeat Application.ProcessMessages
until sndPlaySound(EWaveP,snd_Memory or SND_ASYNC or SND_NOSTOP);
UnlockResource(EWaveH);
FreeResource(EWaveH);
end;
end;
Empty-это ресурс несжатого wav звука. Дальше можешь играть что хочешь!!!
Эту фунгкцию я писал для моей игрухи...


Ricks   (2002-06-30 00:59:00) [2]

Через DirectSound. Определяешь длительность всех файлов, создаешь Buffer с таким размером, и потом один за другим копируешь туда файлы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо