Приветствую всех читателей!
Решил добавить звуки в игру, а то как то постно получается летаем стреляем, взрываем... и как то все в кромешной тишине...
Сперва звук решил запустить через встроенный медиаплеер, подумал зачем изобретать велосипед когда есть готовое решение, добавляю на каждый звук по проигрывателю назначаю их на соответствующие события и вперед запускаю игру тестирую, на главном экране вроде все нормально, а вот игра начинает подтупливать при каждом проигрывании звука...
Так меня не устраивает, пробую сделать по другому запускать звуки при помощи 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); остановка проигрывания звука
Вот в общем то и все функции которые мне понадобились для озвучки игры.
Попробовал все отлично работает! Обрадовался и давай звуков накидывать, сделал звук на кнопках, выстрелы, взрывы, звук вертолета, затем еще и рамштайна в игру воткнул, ну чтоб под музыку летать и стрелять... Вот только на ютубе мне по шапке дали, мол нельзя чужие песни использовать, пришлось рамштайна убрать... )))
И на последок, по традиции видео того что получилось ))) теперь со звуком!
Всем спасибо за прочтение, подписывайтесь на канал что бы чего нибудь не пропустить.