|
21.08.2011, 14:13
|
#1
|
Нуждающийся
Регистрация: 11.07.2011
Сообщений: 64
Написано 2 полезных сообщений (для 2 пользователей)
|
Как можно проще управлять сразу несколькими звуками?
В общем есть несколько групп звуков. У каждой группы есть свой параметр громкости. Насколько я знаю для этих целей в BlitzMax есть каналы, только я не совсем понял как ими пользоваться. Не хочется менять громкость каждого звука в отдельности, в связи с чем прошу объяснить, как пользоваться каналами. Или они не для этих целей?
Заранее благодарен за ответы.
__________________
OS: Ubuntu Linux 11.04
CPU: Intel® Core™ 2 Quad Q9000 (2.0GHz, 1066MHz, 6Mb)
RAM: DDR2 SODIMM 4096 Мб
Video: NVIDIA® GeForce® GT240M 1024 Мб
|
(Offline)
|
|
21.08.2011, 21:04
|
#2
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
Писал большой ответ, но в момент отправки упала булка, схоронился тока код:
Type TSomeChannel
Global MAP:Tmap = CreateMap()
Field Channel:TChannel
Field Sound:TSound
Field MainVolume:String
Function Load:TSomeChannel(Source:String,MainVolume:Float,label:String)
Local somelist:TList = TList(MapValueForKey(MAP,label))
If(somelist = Null)
somelist = CreateList();
MapInsert MAP,label,Somelist
EndIf
Local S:TSomeChannel = New TSomeChannel
S.Sound = LoadSound(Source)
S.Channel = CueSound(S.Sound)
S.MainVolume = MainVolume
SetChannelVolume(S.Channel,MainVolume)
ListAddLast Somelist,S
Return S
End Function
Function PlayRand(label:String)
Local list:TList = MapValueForKey(MAP,label)
If(list = Null) Return
Local R:Int = Rand(1,CountList(list))
Local K:Int = 0
For Local S:TSomeChannel = EachIn list
K:+1
If(K = R)
ResumeChannel S.Channel
Exit
EndIf
Next
End Function
End Type
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.08.2011, 23:25
|
#3
|
Нуждающийся
Регистрация: 11.07.2011
Сообщений: 64
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
Интересное решение Благодарю за помощь.
__________________
OS: Ubuntu Linux 11.04
CPU: Intel® Core™ 2 Quad Q9000 (2.0GHz, 1066MHz, 6Mb)
RAM: DDR2 SODIMM 4096 Мб
Video: NVIDIA® GeForce® GT240M 1024 Мб
|
(Offline)
|
|
23.08.2011, 22:07
|
#4
|
Нуждающийся
Регистрация: 11.07.2011
Сообщений: 64
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
Начал разбираться. Возник вопрос: получается нужно для каждого звука отдельный канал создавать?
__________________
OS: Ubuntu Linux 11.04
CPU: Intel® Core™ 2 Quad Q9000 (2.0GHz, 1066MHz, 6Mb)
RAM: DDR2 SODIMM 4096 Мб
Video: NVIDIA® GeForce® GT240M 1024 Мб
|
(Offline)
|
|
23.08.2011, 23:54
|
#5
|
Нуждающийся
Регистрация: 11.07.2011
Сообщений: 64
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
В общем разобрался. Еще раз спасибо
__________________
OS: Ubuntu Linux 11.04
CPU: Intel® Core™ 2 Quad Q9000 (2.0GHz, 1066MHz, 6Mb)
RAM: DDR2 SODIMM 4096 Мб
Video: NVIDIA® GeForce® GT240M 1024 Мб
|
(Offline)
|
|
06.10.2016, 21:15
|
#6
|
AnyKey`щик
Регистрация: 04.10.2016
Сообщений: 18
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
Я только собираюсь осваивать Макс.
Вопрос: можно ли одновременно проигрывать мелодию (например wav, ogg или mp3) и звуковые эффекты, например для стрельбы, взрывов и т.п. ?
|
(Offline)
|
|
07.10.2016, 00:40
|
#7
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
Сообщение от edgemza
Я только собираюсь осваивать Макс.
Вопрос: можно ли одновременно проигрывать мелодию (например wav, ogg или mp3) и звуковые эффекты, например для стрельбы, взрывов и т.п. ?
|
Несомненно.
Зависит ещё от ограничений звуковой библиотеки. Но воспроизвести музыку и одновременно пару-тройку десятков звуков, без проблем. Актуально не только для BlitzMax.
|
(Offline)
|
|
07.10.2016, 08:25
|
#8
|
AnyKey`щик
Регистрация: 04.10.2016
Сообщений: 18
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
Сообщение от Arton
... воспроизвести музыку и одновременно пару-тройку десятков звуков, без проблем.
|
Так подсказали бы сразу - это делается стандартными средствами Блица или нужна другая библиотека? Если да, то какая??
|
(Offline)
|
|
07.10.2016, 14:58
|
#9
|
ПроЭктировщик
Регистрация: 01.01.2016
Сообщений: 144
Написано 74 полезных сообщений (для 164 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
создаешь отдельный канал для звуковых эффектов стрельбы и через него проигрываешь звуки.
|
(Offline)
|
|
07.10.2016, 15:11
|
#10
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,856 пользователей)
|
Ответ: Как можно проще управлять сразу несколькими звуками?
Сообщение от edgemza
Так подсказали бы сразу - это делается стандартными средствами Блица или нужна другая библиотека? Если да, то какая??
|
Речь про Bmax, да?
Есть 2 стула: LoadSound и LoadMusic
Первый грузит звук полностью, второй играет длинные треки поточно. Больше тебе ничего не надо.
Не забудь к проекту заимпортить directsound и(или) freeaudio (модули из стандартной поставки)
Сколько в наличии каналов столько одновременно звуков и звучит.
Можешь произвести научный эксперимент.
У меня в своё время начинало "попёрдывать" при 500+ одновременноиграющих каналах.
Но это индивидуально для разных систем.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Online)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:10.
|