Событийный (event) и потоковый (stream) звук

Во Flash имеется два типа звуков, довольно радикально отличающиеся друг от друга.

• Событийные звуки (event sounds). Главной особенностью этого типа звука является независимость от временной шкалы. Это означает, что если звук разместить на кадре, то он начнет проигрываться, когда на этот кадр перейдет воспроизводящая головка. Но когда она покинет кадр, проигрывание звука не остановится. Он будет воспроизводиться до тех пор, пока не будет проиграна последняя нота, даже если за это время фильм успеет прокрутиться несколько раз.

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

Экземпляры событийных звуков могут быть созданы как «вручную», перетаскиванием из библиотеки, так и программно при помощи метода attachSound() класса Sound, Экземпляр потокового звука программно создать нельзя.

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


Если же звук импортируется из библиотеки программно, то он (по умолчанию) загрузится перед закачкой первого кадра в фильме.

Имеется две разновидности событийного звука. Выбор между ними можно осуществить в меню Sync Инспектора свойств кадра.

o Event. Обычный событийный звук, на проигрывании которого не сказывается положение воспроизводящей головки на временной шкале и наличие других проигрывающихся звуков.

o Start. Режим, похожий на предыдущий, но с одним важным отличием - ни один событийный звук не будет запущен, пока hi; проиграется до конца текущий звук. Данный режим помогает избежать неприятного эффекта эха, который может возникнуть, в частности, при озвучивании кнопок относительно продолжительными звуковыми фрагментами.

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

Событийный звук используется для озвучивания кадров, кнопок и служит для обозначения некоторых событий.


Можно сказать, что событийный звук применяется во всех случаях, кроме озвучивания анимаций. Для решения этой задачи техничнее использовать потоковый звук.

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

Благодаря этому потоковый звук обладает следующими особенностями:

o потоковый звук и анимация строго синхронизированы. Из-за того что звук разбит на независимые фрагменты, которые распределены по кадрам, в принципе невозможно опережение или отставание звука по сравнению с анимацией. Если компьютер за отведенное время не будет успевать прорисовывать кадры, то часть из них будет пропущена, но в проигрывании звука не возникнет паузы. Если же времени окажется недостаточно для выполнения кода кадра, то он продолжит выполняться и воспроизводящая головка будет остановлена. Звук же будет продолжать проигрываться. После завершения выполнения кода плейер произведет синхронизацию: воспроизводящая головка будет сразу переведена на тот кадр, соответствующий которому звуковой фрагмент проигрывается в данный момент;

o из-за того что потоковый звук разбивается на множество небольших фрагментов, анимации могут проигрываться в сети в потоковом режиме.


Правда, в большинстве случаев для этого все же необходим интернет-канал с повышенной пропускной способностью;

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

o на одной временной диаграмме может одновременно проигрываться только один потоковый звук. Поэтому если вы попытаетесь совместить несколько потоковых звуков, они будут микшированы и размер фильма не окажется большим по сравнению с тем случаем, когда на временной диаграмме располагается только один потоковый звук;

o остановка анимации будет сопровождаться прекращением проигрывания потокового звука (в отличие от событийного звука).

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

Имеется несколько причин введения в работу плейера этой особенности.


С одной стороны, наличие «запаса» делает воспроизведение менее зависимым от стабильности соединения, С другой стороны, алгоритм декомпрессии сжатых звуковых данных требует наличия определенного их объема. При желании вы можете уменьшить или увеличить время буферизации. Для этого новое его значение нужно присвоить глобальному свойству _soundbuftime.

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

Возможности по программному управлению потоковым звуком более скромные, чем событийным. Однако такие операции, как начало или остановка воспроизведения, регулирование громкости и баланса, применимы и к нему.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Action Script на эту тему:
Динамическое присоединение звука. Метод attachSound()
Импортирование внешних МР3-файлов
Операции со звуком без использования программирования
Основные понятия теории цифрового звука
Свойства position и duration

Вернуться в раздел: Action Script / 15. Работа со звуком