Текущий архив: 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.44 MB
Время: 0.041 c