![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проиграть несколько 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 с таким размером, и потом один за другим копируешь туда файлы.