|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
тормоза во время воспроизведения звука
Здравствуйте.
я создал проект, где много возни с звуком. в основном работает extract и play. суть не в этом.сама программа работает как нужно, кроме одного момента. звук подлагивает. пример.я беру всего 1 трек (mp3 файл весом в 20 кб).звук ударника. и воспроизвожу его по команде. бывает что в секунду до 2 раз. и я понимаю, что звук тормозит. кто может сказать. или подсказать. почему в флэше звук может лагать, тормозить и тп? |
|
|||||
Регистрация: Jan 2014
Адрес: Одесса
Сообщений: 253
|
а вы случаем не на линуксе?
|
|
|||||
Все дело в том, что флеш каждый раз создает новый SoundChannel для каждого вызова Sound#play() из-за этого старые звуковые каналы попадают в мусор и копятся просто в неимоверном количестве. А потом сборщик мусора это все удаляет, из-за этого и лагает.
Система работы со звуком во флеше очень не продуманная
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
нет.я на старом добром 7-ом виндоусе.
по поводу channel.идею понял.спасибо. попробую в 1 чаннеле сидеть) |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Если требуется чтоб несколько звуков накладывались друг на друга - на одном канале не выйдет.К сожалению, единственный способ создать новый SoundChannel - вызвать метод play у объекта класса Sound, поэтому пул тут не применишь.Да и уже отыгравший канал вроде как заново не запустишь.
Добавлено через 3 минуты да, еще момент - если все это на десктопе тормозить оно не должно даже с учетом работы GC(если только там не тысячами звуки запускаются).Раз все же тормозит - возможно дело в самом мп3 |
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
залил для каждого звука channek в массив.
то есть при каждом play работает 1 channel из массива.точнее один и тотже для каждого звука(у каждого свои). проблема не решилась.все равно есть тормоза.причем они то есть, то их нет.как будто ресурсов не хватает. ДЕСКТОП не проверял.сейчас по быстрому сделаю и отпишусь. Добавлено через 7 минут тоже самое.но вряд ли проблема в звуках.уже больно мало они весят Добавлено через 14 минут тэкс.как бы то не было странно, решение ВРОДЕ нашлось. у меня интервал , когда должен играть трек задавал Timer.хотел избежать привязки к фпс. сменил на EnterFrame и все пропало.никаких зависании. |
|
|||||
Цитата:
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
|
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
Цитата:
если мои код var sound:Sound = new Sound(); var chanel:SoundChannel = new SoundChannel(); var arr:Array = new Array(); arr.push(sound); arr.push(chanel); каким образом создаются новые channel's ? Цитата:
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +4, время: 10:31. |
|
« Предыдущая тема | Следующая тема » |
|
|