Обзор архитектуры звука
Flash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий
Существует пять основных источников, из которых приложения могут загружать звук, а именно:
внешние аудиофайлы, загружаемые во время выполнения;
аудиоресурсы, встроенные в SWF-файл приложения;
аудиоданные, полученные с микрофона, подключенного к системе пользователя;
потоковые аудиоданные, получаемые с удаленного сервера мультимедийного содержимого, такого как Flash Media Server;
аудиоданные, создаваемые динамически с помощью обработчика событий sampleData.
Воспроизводить аудиоданные можно либо после полной загрузки, либо в режиме потоковой передачи, то есть в процессе загрузки.
Звуковые классы ActionScript 3.0 поддерживают аудиофайлы, сохраненные в формате mp3. Они не могут загружать и воспроизводить аудиофайлы в других форматах, таких как WAV или AIFF. Однако начиная с проигрывателя Flash Player 9.0.115.0 появилась возможность загрузки и воспроизведения аудиофайлов AAC с помощью класса NetStream. Этот же прием используется для загрузки и воспроизведения видеосодержимого. Дополнительные сведения об этом приеме см. в главе Работа с видео.
С помощью Adobe Flash Professional WAV- и AIFF-файлы можно импортировать, а затем встраивать в SWF-файл приложения в формате mp3. Инструмент разработки Flash также позволяет сжимать встроенные аудиофайлы, чтобы уменьшить их размер, однако при этом ухудшается качество звука. Дополнительные сведения см. в разделе «Импорт звуков» в руководстве Использование Flash.
В архитектуре звука ActionScript 3.0 используются следующие классы пакета flash.media.
Класс
|
Описание
|
flash.media.Sound
|
Класс Sound обрабатывает загрузку звука, управляет его основными свойствами и запускает воспроизведение.
|
flash.media.SoundChannel
|
Когда приложение воспроизводит объект Sound, для управления воспроизведением создается новый объект SoundChannel. Объект SoundChannel контролирует громкость левого и правого каналов воспроизведения звука. Для каждого воспроизводимого звука создается отдельный объект SoundChannel.
|
flash.media.SoundLoaderContext
|
Класс SoundLoaderContext определяет, сколько секунд буферизации должно использоваться при загрузке звука, а также должен ли проигрыватель Flash Player или AIR проверять файл политики, загружая файл с сервера. Объект SoundLoaderContext используется в качестве параметра метода Sound.load().
|
flash.media.SoundMixer
|
Класс SoundMixer управляет свойствами воспроизведения и безопасности, которые относятся ко всем звукам в приложении. В действительности, несколько аудиоканалов микшируются с помощью одного объекта SoundMixer, поэтому значения свойств объекта SoundMixer применяются ко всем объектам SoundChannel, воспроизводимым в данный момент.
|
flash.media.SoundTransform
|
Класс SoundTransform содержит значения, которые управляют громкостью и панорамированием звука. Объект SoundTransform можно применять, помимо прочего, к отдельному объекту SoundChannel, к глобальному объекту SoundMixer или к объекту Microphone.
|
flash.media.ID3Info
|
Объект ID3Info содержит свойства, представляющие метаданные ID3, которые часто хранятся в аудиофайлах формата mp3.
|
flash.media.Microphone
|
Класс Microphone представляет микрофон или другое устройство для ввода звука, подключенное к компьютеру пользователя. Аудиоввод с микрофона можно вывести на локальные динамики или отправить на удаленный сервер. Объект Microphone контролирует усиление, частоту амплитудно-импульской модуляции и другие характеристики собственного аудиопотока.
|
Каждый загружаемый и воспроизводимый звук должен иметь собственный экземпляр класса Sound и класса SoundChannel. Затем вывод нескольких экземпляров SoundChannel микшируется глобальным экземпляром класса SoundMixer во время воспроизведения.
Классы Sound, SoundChannel и SoundMixer не используются для аудиоданных, получаемых с микрофона или с сервера потокового мультимедийного содержимого, такого как Flash Media Server.