Как проиграть звук один раз?
В: Как проиграть звук один раз?
О: Легко! Достаточно создать переменную звука и переменную для звукового канала и присвоить каналу нужный для проигрывания звук. Делается это так: Код:
1) Создается переменная в которую загружается звук. 2) Затем объявляется переменная для звукового канала, переменная может быть и Local и Global в зависимости от того как и где вы хотите использовать канал. 3) Далее конструкцией If мы проверяем действительно ли канал находится вне проигрывания звука, если это так то присваиваем каналу проигранный звук. Тем самым мы можем добится того что звук не будет проигрыватся раньше чем канал закончит его проигрывать, и не будет эффекта эхо за проигранным звуком. Надеюсь все понятно. Если что НЕ понятно то напишите сдесь, разъясню. Надеюсь чем-то кому нибудь помог. |
Re: Как проиграть звук один раз?
Молодец. Желаение помогать другим похвально.
Необходимо тем не менее внести полную ясность в вопрос. 0. Чтоб проиграть звук один раз, достаточно один раз вызвать PlaySound( ХендлЗагруженноговЗвука ) - и ничего более 1. Если речь идёт о размещении конструкции [blitz]If ChannelPlaying(channel_sound)=0 Then channel_sound=PlaySound(sound)[/blitz] в цикле (зацикленные музыкальные отрывки, стрельба очередями, звук двигателя и т.п.) то термин "один раз" здесь очевидно не вполне уместен. 2. Если нужно просто и незамысловато зациклить звук, можно сделать это интуитивно: командой LoopSound() 3. Наконец, если LoopSound() не обеспечивает необходимой тактической гибкости, то вызывать ChannelPlaying() следует не слишком часто, т.к. это неизбежно приведет к жутЬким тормозам. 4. В итоге, конструкция приобретает приблизительно такой вид: [blitz] ... IF CheckChannelDelay<Millisecs() THEN CheckChannelDelay=Millisecs()+DelayInMillisecs IF ChannelPlaying(channel_sound)=False THEN channel_sound=PlaySound(sound) END IF ...[/blitz] P.S. Мы не упоминаем возможность циклить что-либо с помощью PlayMusic() вследствие нестабильности и тормозности сей команды. |
Re: Как проиграть звук один раз?
Цитата:
|
Часовой пояс GMT +4, время: 18:40. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot