По умолчанию Flash может воспроизводить файлы WAV, когда они находятся в библиотеке, но не при загрузке внешних файлов. Прочитайте этот Быстрый совет, чтобы научиться играть на них.
Шаг 1: Краткий обзор
Мы будем использовать общие методы для запроса и загрузки желаемого файла WAV, а также будем использовать фантастический класс сторонних производителей для воспроизведения загруженного файла.
Шаг 2: AS3WavSound
AS3WavSound (AWS) является отличным классом ActionScript, который может воспроизводить загруженные извне волновые файлы, перейти на страницу кода Google и получить исходный код.
Теперь этот класс не был создан специально для внешнего воспроизведения WAV; вот краткое описание от автора:
Flex SDK изначально не поддерживает воспроизведение (встроенных) WAV-файлов. До сих пор разработчики работали над этим, используя уродливые хаки (генерируя swte bytedata, чтобы обмануть Flash Player). Уже нет. AWS в самом тонком смысле это просто класс as3. Он расширяет общий класс Sound во Flash и добавляет поддержку воспроизведения данных WAVE. Вам не нужен этот класс звука, если вы работаете с Flash IDE или Flex Builder, поскольку они преобразуют данные .wav непосредственно в объекты Sound. Компилятор SDK с открытым исходным кодом, однако, не поддерживает эту функцию. Но это сейчас!
Flash IDE действительно преобразует данные wav в объекты Sound, но только для встроенных файлов (импортированных в библиотеку); если вы хотите воспроизвести внешний файл WAV, используйте следующий метод …
Шаг 3: Использование
Подготовьте новый класс ActionScript и напишите следующий код:
пакет { импорт flash.display.Sprite; импорт flash.events.MouseEvent; импорт flash.net.URLLoader; import flash.net.URLRequest; импорт flash.events.Event; импорт flash.utils.ByteArray; импорт flash.media.Sound; import org.as3wavsound.WavSound; import org.as3wavsound.WavSoundChannel; Публичный финальный класс Main расширяет Sprite { публичная финальная функция Main (): void { playB.addEventListener (MouseEvent.MOUSE_UP, loadWav); } приватная финальная функция loadWav (e: MouseEvent): void { var urlRequest: URLRequest = новый URLRequest ('Phone.wav'); var wav: URLLoader = новый URLLoader (); wav.dataFormat = 'binary'; wav.load (URLRequest); wav.addEventListener (Event.COMPLETE, playWav); } приватная финальная функция playWav (e: Event): void { var tts: WavSound = new WavSound (e.target.data как ByteArray); tts.play (); } } }Это базовый код для загрузки внешнего файла в AS3,
URLLoader
используетURLRequest
для определения местоположения файла, который должен быть загружен (который загружается в виде двоичных данных), а по окончании класс WavSound используется для воспроизведения звука.
Шаг 4: Пример
Посмотрите демо для рабочего примера с использованием кода.
Шаг 5: О файлах WAV
Имейте в виду, что этот класс не будет воспроизводить каждый звуковой сигнал: файл должен иметь частоту дискретизации 44100, 22050 или 11025 Гц и данные выборки битрейта 8 или 16.
Вывод
Используйте этот класс для воспроизведения ваших внешних файлов WAV.
Надеюсь, вам понравился этот урок, спасибо за чтение!