Найти тему
Моя игра

Написание игры с нуля, добавляю звук bass.dll

Приветствую всех читателей!

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

Сперва звук решил запустить через встроенный медиаплеер, подумал зачем изобретать велосипед когда есть готовое решение, добавляю на каждый звук по проигрывателю назначаю их на соответствующие события и вперед запускаю игру тестирую, на главном экране вроде все нормально, а вот игра начинает подтупливать при каждом проигрывании звука...

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

Запускаю тестирую... главный экран все опять замечательно, а вот в игре... звуки начинают перекрывать друг друга, вот тут до меня доходит что нужно делать несколько звуковых каналов и типовые методы уже не подойдут, хорошо что на просторах интернета всегда есть кому подсказать нужное направление. )))

Наиболее распространенная подключаемая библиотека для игр это bass.dll, нахожу ее скачиваю, устанавливаю в дельфи, и начинаю долго искать информацию как с ней работать, спустя многих часов поиска все таки нашел, немного опишу ее основные функции вдруг кому пригодятся:

1. BASS_Init(-1, 44100, 0, 0, nil); это инициализация звука, если запускать в таком виде то будет выбрано звуковое устройство по умолчанию

2. knopZvuk:cardinal; обязательно должен быть объявлен в разделе переменных звуковой канал

3. knopZvuk:=BASS_StreamCreateFile(FALSE, PChar('sound\knop1.wav'), 0, 0, 0); загрузка звука в звуковой канал

4. BASS_ChannelSetPosition(knopZvuk,0); установка позиции начала проигрывания

5. BASS_ChannelPlay(knopZvuk, false); собственно само проигрывание звука

6. BASS_ChannelStop(knopZvuk); остановка проигрывания звука

Вот в общем то и все функции которые мне понадобились для озвучки игры.

Попробовал все отлично работает! Обрадовался и давай звуков накидывать, сделал звук на кнопках, выстрелы, взрывы, звук вертолета, затем еще и рамштайна в игру воткнул, ну чтоб под музыку летать и стрелять... Вот только на ютубе мне по шапке дали, мол нельзя чужие песни использовать, пришлось рамштайна убрать... )))

И на последок, по традиции видео того что получилось ))) теперь со звуком!

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