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

Вниз

Зацикливание в fmod.   Найти похожие ветки 

 
@!!ex_   (2007-06-22 13:34) [0]

Ситуация: нужно зациклить музыку. Делаю так:

if Menu then begin
 if (MenuMusic<>nil) then begin
   if (not FSOUND_IsPlaying(MenuMusicChannel)) then
     MenuMusicChannel:=SndLib.PlaySound(MenuMusic,Config.MusicVolume);
     SndLib.SetSoundVolume(MenuMusicChannel,Config.MusicVolume);
   end;
 if (GameMusic<>nil) and FSOUND_IsPlaying(GameMusicChannel) then
   SndLib.Stop(GameMusicChannel);
end
else begin
 if (MenuMusic<>nil) and FSOUND_IsPlaying(MenuMusicChannel) then
   SndLib.Stop(MenuMusicChannel);

 if (GameMusic<>nil) then begin
   if (not FSOUND_IsPlaying(GameMusicChannel)) then
     GameMusicChannel:=SndLib.PlaySound(GameMusic,Config.MusicVolume);
     SndLib.SetSoundVolume(GameMusicChannel,Config.MusicVolume);
 end;
end;

На моем компе все работает замечательно.
Приношу на работу, там проигрывается один раз и затихает.

При этом при переходе между состояниями(из меню в игру и наоборот) музыка опять начинает играть.
Тоесть:
Сидим в меню. Играет мызыка.
Музыка кончилась. Тишина.
Переходим в игру. Вклчюается игровая музыка.
Играем. Музыка кончилась. Тиишина.
Переходим в меню. Менюшная музыка включается.


 
Dib@zol   (2007-06-23 16:27) [1]

Добавь константы, пропиши в них время звучания каждой ХМ-ки в миллисекундах (время можно посмотреть в окне Винампа и умножить на 1000), заведи таймер, по событию таймера останавливаешь музыку и пускаешь снова.

ЗЫ: Как получать время в реалтайме не знаю, сам уже вторую неделю въехать не могу, так что для надёжности запихни ХМ-ки в ресурсы.


 
@!!ex_   (2007-06-23 17:49) [2]

Такой подход не годится, поскольку музыку добавляет геймдиз без моего участия.... И я не знаю заранее че там играть будет.



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
2-1212159932
Сергей
2008-05-30 19:05
2008.06.29
Процедура-параметр.


2-1212584820
TUserClass
2008-06-04 17:07
2008.06.29
Забацать DLL в EXE и распаковать ...


15-1210786864
Palladin
2008-05-14 21:41
2008.06.29
PDF reader ы


2-1206277932
Пётр
2008-03-23 16:12
2008.06.29
Ошибка у Canvas а


15-1210977956
Draw
2008-05-17 02:45
2008.06.29
Чем заменить Canvas.CopyRect ?