2013-07-05 2 views
0

У меня есть звуки на временной шкале анимации, а мой swf выше складки (на очень высокой странице html). Я хотел бы отключить все, если пользователь прокручивается за пределы swf страница. Кто-нибудь знает IF и КАК это можно сделать?mute timeline звучит, если swf не отображается

+0

Да, это можно сделать. В Javascript вы будете слушать событие onscroll, чтобы определить, когда элемент Flash больше не находится на странице. Затем, используя класс ExternalInterface Flash, Javascript может сказать, что Flash отключил звук. –

+0

@SunilD что делать, если у пользователя отключен javascript? –

+0

@ Отличное решение! –

ответ

1

Взятые из http://help.adobe.com/en_US/as3/mobile/WS4bebcd66a74275c36cfb8137124318eebc6-8000.html

Если ваши настройки публикующие установлен Flash Player 10.1 или выше, вы можете легко остановить аудио/видео:

Flash Player 10.1 Расширения для использования процессора

вспышки В проигрывателе 10.1 представлены две новые функции, которые помогают экономить процессорную обработку. Эти функции включают приостановку и возобновление содержимого SWF при выходе из экрана и ограничение количества экземпляров Flash Player на странице.

Pause, дроссель и возобновлять

Примечание: пауза, дроссель, и возобновить функция не применяется к приложениям Adobe® AIR®. Для оптимизации использования ЦП и аккумулятора Flash Player 10.1 представляет новую функцию, связанную с неактивными экземплярами. Эта функция позволяет вам ограничить использование ЦП путем приостановки и возобновления SWF-файла при выходе контента и на экране. Благодаря этой функции Flash Player выпускает как можно больше памяти, удаляя любые объекты, которые можно воссоздать, когда воспроизведение содержимого возобновляется. Содержимое считается вне экрана, когда весь контент выключен.

Два сценария вызывают SWF содержание быть закадровый:

** ясно сказано здесь: * *

пользователь прокручивает страницу и вызывает содержимое SWF для перемещения за кадром. В этом случае, если есть воспроизведение аудио или видео, контент продолжает воспроизводиться, но рендеринг прекращается. Если нет воспроизведения аудио или видео, чтобы гарантировать, что воспроизведение или выполнение ActionScript не приостановлено, установите для параметра hasPriority HTML значение true. Однако имейте в виду, что рендеринг содержимого SWF приостанавливается, когда контент выключен или скрыт, независимо от значения параметра HTML hasPriority.

В браузере открывается вкладка, которая заставляет содержимое SWF перемещаться на задний план. В этом случае, независимо от значения HTML-тега hasPriority, содержимое SWF замедляется или дросселируется, от 2 до 8 кадров в секунду. Воспроизведение аудио и видео останавливается и обработка содержимого не обрабатывается, если содержимое SWF снова не становится видимым. Для Flash Player 11.2 и более поздних версий, работающих в настольных браузерах Windows и Mac, вы можете использовать ThrottleEvent в своем приложении. Flash Player отправляет ThrottleEvent, когда Flash Player приостанавливает, дросселирует или возобновляет воспроизведение.

ThrottleEvent - это широковещательное событие, что означает, что оно отправляется всеми объектами EventDispatcher с зарегистрированным для этого события слушателем. Дополнительные сведения о событиях трансляции см. В классе DisplayObject.