Обзор архитектуры звука

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.