Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.03.2016, 23:50
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 1  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
Smile тормоза во время воспроизведения звука

Здравствуйте.
я создал проект, где много возни с звуком.
в основном работает extract и play.

суть не в этом.сама программа работает как нужно, кроме одного момента.
звук подлагивает.
пример.я беру всего 1 трек (mp3 файл весом в 20 кб).звук ударника. и воспроизвожу его по команде.
бывает что в секунду до 2 раз.
и я понимаю, что звук тормозит.
кто может сказать.
или подсказать.
почему в флэше звук может лагать, тормозить и тп?

Старый 02.03.2016, 02:45
Max_Payn вне форума Посмотреть профиль Отправить личное сообщение для Max_Payn Найти все сообщения от Max_Payn
  № 2  
Ответить с цитированием
Max_Payn

Регистрация: Jan 2014
Адрес: Одесса
Сообщений: 253
а вы случаем не на линуксе?

Старый 02.03.2016, 05:50
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 3  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Все дело в том, что флеш каждый раз создает новый SoundChannel для каждого вызова Sound#play() из-за этого старые звуковые каналы попадают в мусор и копятся просто в неимоверном количестве. А потом сборщик мусора это все удаляет, из-за этого и лагает.
Система работы со звуком во флеше очень не продуманная
__________________
Ко мне можно и нужно обращаться на ты)

Старый 02.03.2016, 17:22
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 4  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
нет.я на старом добром 7-ом виндоусе.

по поводу channel.идею понял.спасибо.
попробую в 1 чаннеле сидеть)

Старый 02.03.2016, 17:36
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 5  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Если требуется чтоб несколько звуков накладывались друг на друга - на одном канале не выйдет.К сожалению, единственный способ создать новый SoundChannel - вызвать метод play у объекта класса Sound, поэтому пул тут не применишь.Да и уже отыгравший канал вроде как заново не запустишь.

Добавлено через 3 минуты
да, еще момент - если все это на десктопе тормозить оно не должно даже с учетом работы GC(если только там не тысячами звуки запускаются).Раз все же тормозит - возможно дело в самом мп3

Старый 02.03.2016, 17:43
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 6  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
залил для каждого звука channek в массив.
то есть при каждом play работает 1 channel из массива.точнее один и тотже для каждого звука(у каждого свои).
проблема не решилась.все равно есть тормоза.причем они то есть, то их нет.как будто ресурсов не хватает.
ДЕСКТОП не проверял.сейчас по быстрому сделаю и отпишусь.

Добавлено через 7 минут
тоже самое.но вряд ли проблема в звуках.уже больно мало они весят

Добавлено через 14 минут
тэкс.как бы то не было странно, решение ВРОДЕ нашлось.
у меня интервал , когда должен играть трек задавал Timer.хотел избежать привязки к фпс.
сменил на EnterFrame и все пропало.никаких зависании.

Старый 02.03.2016, 18:37
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
то есть при каждом play работает 1 channel из массива.точнее один и тотже для каждого звука(у каждого свои).
Это невозможно. Каждый вызов sound.play() создает новый звуковой канал. Никакие каналы из массива использоваться не будут.
__________________
Ко мне можно и нужно обращаться на ты)

Старый 02.03.2016, 18:59
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 8  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
у меня интервал , когда должен играть трек задавал Timer
и чему равен этот интервал?

Старый 02.03.2016, 19:32
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 9  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
Цитата:
Это невозможно. Каждый вызов sound.play()
не понял.

если мои код
Код AS3:
  var sound:Sound = new Sound();
  var chanel:SoundChannel = new SoundChannel();
  var arr:Array = new Array();
  arr.push(sound);
  arr.push(chanel);
и при вызове звука я делаю
Код AS3:
arr[1].stop();
arr[1] = arr[0].play(0);
каким образом создаются новые channel's ?

Цитата:
и чему равен этот интервал?
зависит от ритма

Старый 02.03.2016, 19:39
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 10  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
arr.push(sound);
arr.push(chanel);
в один массив складываются и Sound'ы и каналы?Оригинально. И вообще для чего создается
Цитата:
var chanel:SoundChannel = new SoundChannel();
если потом он затирается новым чанелом?
Цитата:
arr[1] = arr[0].play(0);
Добавлено через 2 минуты
Цитата:
зависит от ритма
предлагаю проверить с какой частотой создаются новые каналы.Сдается мне, что там интервал ~единиц мс,неудивительно что оно лагает.

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:35.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.