FlexiPedia Wiki on Adobe Flex
Флэш Потрошитель - Жизнь вокруг технологииЖизнь вокруг технологии

Флэш Потрошитель этот | тот | 1.0

С 09.09.2002
  • Коллекция багов Flash
  • Ссылки для начинающего аниматора
  • Flex для PHP-разработчиков
  • Как вы используете Flash?

Поток сознания

makc3d ответил на Избранные баги Flash:

beer good. spam bad!

12 часов назад

Флэшер-аноним ответил на Избранные баги Flash:

Хотелось бы узнать, Как вы относитесь к пиву? Если положительно, то какое предпочитаете? Если отрицательно, то почему? Просто интересно...

14 часов назад

Флэшер-аноним ответил на Еще один способ заработать на играх:

прям таки тебе и скажут здесь посмотри

2 дня назад

Флэшер-аноним ответил на Нужна помощь по остановке видео и очистке памяти после него:

Напишите мне на имейл (sbnur@front.ru) - очистка памяти в флеш-плеере нетривиальная проблема и все зависит от конкретного кода - чтобы не превращать, как уже отмечалось, в форум, лучше обсудить все приватно 

3 дня назад

makc3d ответил на Еще один способ заработать на играх:

403

R05T
 

Sorry, access denied for you. You may want to:

Log in
or
Register
 

Thank you.

Test key: 1

 

3 дня назад

imset ответил на Нужна помощь по остановке видео и очистке памяти после него:

1) Спасибо всем кто ответил.

2) Чтобы блог действительно не превращался в форум хотелось бы видет более обоснованные ответы, приводите пожалуйста доводы доказывающие вашу точку зрения.

3) Из комментов видно, что не все понимают зачем нужен именно мувик с вложенными в его кадры анимациями. Поясняю: этот мувик обычно собирается дизайнером, который не имеет особого представления о работе AS. Дизайнеру проще сделать мувик с лейблами чем написать специальный класс. Я же использую один класс для всех подобных мувиков в котором программно обрабатываю переход от одной анимации к другой. Таким образом для всех мувиков используется один класс.

4) Знаю что использование мувиков, созданных в IDE не является хорошей практикой, но в данном случае удобен именно этот подход. К тому же если метод мувика gotoAndStop реализован и описан в официальной документации он может использоваться и должен правильно работать.

5) Если встраивание видео в мувик несет в себе какие-то сложности, об этом должно быть указано в хэлпе.

6) Теоретически наверное можно найти какое-то другое решение проблемы, но речь изначально шла о том является ли такое поведение багом, и если так - этот баг должен быть добавлен в базу Adobe.

7) Очень хотелось бы ,чтобы кто-то проверил это у себя или указал как эту проблему можно решить.

3 дня назад

Artem Brigert ответил на Нужна помощь по остановке видео и очистке памяти после него:

gotoAndStop(label);

мама роди меня обратно ...

3 дня назад

shaman4d ответил на Нужна помощь по остановке видео и очистке памяти после него:

Блог превращаетсо в форум -- пичалько.

3 дня назад

Флэшер-аноним ответил на Нужна помощь по остановке видео и очистке памяти после него:

Может попробовать аттачить и удалять мувиклипы при необходимости из библиотеки? Удалили предыдущий мувик со stage и добавили новый, который нужно проиграть.

примерно так:

var _class:Class = getDefinitionByName("nameClass") as Class;

var _mc:MovieClip = new MovieClip(new _class());

addChild(_mc);

...

removeChild(_mc);

3 дня назад

imset ответил на Нужна помощь по остановке видео и очистке памяти после него:

Спасибо за ответ. Хочу пояснить что я пробовал чтобы люди могли лучше понять суть проблемы. Сорри, если много букв. Вот код функции для переключения кадров с видео: [collapse] <code> public function playAnim(label:String):void { // проверяем есть ли такая метка в списке доступных if (labels.indexOf(label) != -1) { // если метка отличается от текущей выполняем переход if (currentLabel != label) { // "anim" - это мувик с именем "anim" и объектом Video внутри, в нем также могут находится мувики с графикой if (anim) { // стопим его, при помощи ENTER_FRAME Event с WeakReference я проверял его текущий кадр и трейс показывает что он нормально стопится anim.stop(); // удаляем его из DisplayList removeChild(anim); // проходим по всем его вложенным DisplayObject-ам while (anim.numChildren) { var vid:Video = anim.getChildAt(0) as Video; // если находим видео, пытаемся принудительно вызвать GarbageCollector if (vid) { trace(">>> FORCE GC! <<<"); try { new LocalConnection().connect('foo'); new LocalConnection().connect('foo'); } catch (e:*) {} } // удаляем все найденные DisplayObject-ы anim.removeChildAt(0); } // обнуляем автоматически созданную переменную (сам флэш иногда это не делает) anim = null; } // переходим на новый кадр с мувиком "anim" внутри которого лежит другое видео gotoAndStop(label); } } } </code> [/collapse] Странно, что без вызова GarbageCollector-а все видео продолжают висеть в памяти. Если вызывать GarbageCollector как показано в коде, то некоторые видео удаляется (исчезают трейсы от них), а некоторые продолжают висеть в памяти остановленные на одном кадре, хотя ссылок на них в коде больше нет. Хэлп от Адоб утверждает (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Video.html) что потоковое видео можно остановить соответствующими вызовами: myVid.attachCamera(null); myVid.attachNetStream(null); Про то как остановить встроенное видео нет ни слова. Хотелось бы видет простой метод dispose() как у BitmapData что какжется логичным. Хочется делать простые вещи без всяких костылей и хакерства.

3 дня назад

Более старые 
Главная › Блоги › Блог skip

Microphone и SampleDataEvent во Flash Player 10.1

Изучая возможность по подавлению эхо самостоятельно, не дожидаясь Adobe, я практически осуществил задуманное, но вылез один неприятный момент, который даже не знаю к чему отнести (не уверен, что это глюк, может это фича ...) Суть проблемы заключается в следующем, событие SampleDataEvent вызывается на разных платформах по-разному, в win оно чаще всего выплевывает по 2048 байт, если микрофон в 8KHz, а под МакОсью выдает чаще всего по 1024 байта, хотя случаи проскакивания 2048 байт тоже замечены, но редко. Для моей задачи это существенно все усложняет, так как в идеале мне вообще нужны фреймы по 20мс или 320 байт, но я готов смириться с больним размером фрейма... а вот с тем, что на разных компьютера флэш себя ведет по-разному я смириться не готов J)

P.S. Используется FP 10.1 beta3 , может дело в бете, а может стоит накатать баг реквест в JIRA пока не поздно?

  • Adobe JIRA
  • Flash Player Bugs
  • microphone
  • Буфер обмена
- skip, ср, 10/03/2010 - 13:05
  • Блог пользователя skip
  • В Жуйк

Комментарии

Это давно известная проблема синхронизации.
Флеш плеер заранее заготавливает звуковые данные - до того, как кончатся уже имеющиеся.

Насколько я знаю, в JIRA про это уже есть. Может быть и workaround какой-то имеется, хотя вряд ли.

Dan 13:16 10/03/10

А расскажи суть алгоритма, почему все так жестко:
20мс или 320 байт
подумаем вместе!

Born 13:58 10/03/10

Это не жестко, просто на эти параметры заточен AEC из Speex. Но он и 512 сэмплов вполне кушает, просто давит похуже.

skip - http://blog.flaphone.com 15:40 10/03/10

Вобще, звуковые карты тоже любят, когда им буфер заранее заполняют.
Если же этого не делать, а подкидывать новые данные только когда закончено проигрывание уже имеющихся, то получаются очень неприятные на слух щелчки или зацикливания того, что есть в буфере.

Dan 15:21 10/03/10

Пускай он заготавливает, кто против, просто пусть кол-во этих заготавливаемых данных будет величиной постоянной. А то вы себе представляете разницу между 256 сэмплами и 5000? При частоте в 8 КГц это почти секунда задержки.

skip - http://blog.flaphone.com 15:41 10/03/10

Представляю. Я пытался сделать пианино с генерируемым звуком. Пришлось отказаться от этой идеи.

Dan 16:08 10/03/10

Добрый вечер. Есть следующая программа: онлайн гитарный тюнер. http://www.tictone.com/tuner.php. Он определяет частоту звука, поступающего на микрофон и пишет к какой ноте ближе всего данная частота. Частоты всех нот определяются математически по известным законам. Могли бы вы написать подобную программу на заказ для моего сайта?

Алекс Борн (не проверено) 21:22 11/03/10

При выводе звука, в доке адоб акцентирует внимание на латентность. Т.е. на опережение позиции заполняемого буфера и позиции текущего звучания на каналах. При этом они говорят, что это как платформо зависимо, так и железо зависимо (эксперименты показывают что действительно от железа очень зависит).
С микрофоном скорее всего таже байда, для того, чтобы выдержать риалтайм семплов они и меняют величину буфера, посему скорее всего Вам прийдется подстраиваться под неизвестный размер входного буфера, т.к. это не баг а фича Smile

2 Dan: http://lab.andre-michelle.com/tonewheels практически готовый пример. Вам только нужно добавить клавиатуру и сделать реакцию на нажатие клавиш.

2 Алекс Борн: http://www.adobe.com/devnet/air/flex/articles/using_mic_api.html, не совсем то (определяется "на слух" сигналы телефонов). Может на этом примере сами возьметесь за задачу?

well - http://absolutist.com/ 11:13 12/03/10

Спасибо за ссылку. Но дело в том, что я не программист. Я зашёл сюда с целью найти того, кто смог бы реализовать этот проект. Могли бы вы взяться за это?

Алекс Борн (не проверено) 14:45 12/03/10

К сожалению, по ряду причин - нет. Но на то и риппер, может кто откликнется!

well - http://absolutist.com/ 16:38 12/03/10

Привет, я думаю, что здесь есть люди, которые могут вам помочь - предлагаю написать конкретное объявление и разместить на главной странице сайта.

Rost - http://rajaka.net/ 23:02 12/03/10
Примечания: Статус документа => в процессе ·
Статьи · Идеальный клип · Персоналии · Глоссарий (уст.) · Что делать? · К началу ↑
© 2002-2012 Ростиславр · О проекте · Подписка на RSS · α-тестировани невероятного
]]>
]]>
Что такое OpenID?
  • Войти по OpenID
  • Скрыть вход по OpenID
  • Регистрация
  • Запросить новый пароль