![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: May 2010
Сообщений: 5
|
При игровом процессе flash-игры должна проигрываться фоновая музыка (примерно 10 секундный фрагмент в цикле). Музыка берётся из подгружаемой swf (пробовал так же встраивать в проект [embeded]). Играю её стандартно (sound.play()) но она тормозит. Ощущение такое будто меняется частота дискретизации - очень не приятный эффект. Проигрывание той же музыки по завершению игрового процесса происходит нормально. Слышал, что flash может плохо распределить ресурсы во время множественной анимации. но я не могу сказать, что там уж очень сложная анимация (загрузка ЦП ~20%).
Встречался ли кто-нибудь с проблемой воспроизведения музыки? |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Расскажи подробнее, как музыку загоняешь. SoundChannel/SoundMixer?
Может попробовать буферизировать её при подгрузке с помощью SoundLoaderContext? |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 44
|
Может быть ты неправильно зациклил звук - и он по циклу начинает гонять сам себя и накладывается поверх уже играющего - в этом случае обычно противный звук возникает. Попробуй посмотреть не накладуется ли звук.
Покрайней мере у меня когда то такая проблема была. Последний раз редактировалось OwnerOfSuccuby; 20.08.2010 в 15:54. |
|
|||||
|
Регистрация: May 2010
Сообщений: 5
|
Класс с музыкой экспортирован в 1-й кадр swf-ки, которая подгружается к основному приложению. Соответственно оттуда извлекаю объект (класса Sound), далее в нужный момент играю - play(). Перепробовал все варианты сжатия, битрейта и проч. Пробовал так же внедрять исходную mp3 в проект (Embeded[]).
Почти уверен, что тормоза из-за того, что в момент проигрывания, довольно много анимации на сцене. В итоге придумал, как "обмануть" систему. Нужные звуки начинаю проигрывать заранее (до анимации) с нулевой громкостью, а в нужный момент регулирую громкость нужных мне звуков - никаких тормозов! Что и понятно, т.к. звуковой буфер уже на аудиокарточке, которой абсолютно всё равно, что у меня в системе происходит. Тем не менее, думаю, что flash-player косячит с проигрванием звуков. Для нас он конечно однопоточный, но сам-то плеер многопоточный, и в чём проблема нормально отправить звуковой буфер во время сложной анимации - для меня загадка. Эксперимент провести не сложно - создайте класс, который при добавлении на сцену начнёт проигрывать ~10 сложных анимаций (MovieClip.gotoAndPlay(0)) и одновременно запустите какой-нибудь звук (Sound.play()). И добавьте его на сцену (не в первом кадре, а программно - например, по нажатию кнопки). Всем спасибо! |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:09. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| sound play тормозит flash |
|
|