Встраивание wav-файлов в проект AS3 Flash / Flex? - PullRequest
6 голосов
/ 13 мая 2010

Flash IDE способна встраивать многие типы несжатых звуковых файлов, включая wav, и предлагает дополнительное сжатие при публикации.

Однако тег [Embed], по-видимому, допускает только встраивание mp3-файлов.Действительно ли невозможно внедрить несжатый wav-файл или мне не хватает какого-то волшебного недокументированного mimeType?

Я надеялся на что-то вроде:

[Embed source="../../audio/wibble.wav" mimeType="audio/wav"]

... но я получаю

no transcoder registered for mimeType 'audio/wav'

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

Я удивлен, что, хотя Flash IDEможет вставлять несжатые звуковые данные, [Embed] не может, учитывая, что спецификация swf может содержать несжатые звуковые данные.

Любые получатели?

Ответы [ 3 ]

14 голосов
/ 13 мая 2010

Из LiveDocs - Основы работы со звуком :

[...] Хотя есть разные звуковые файлы форматы, используемые для кодирования цифрового аудио, ActionScript 3.0, Flash Player и AIR поддержка звуковых файлов, которые хранятся в формат mp3. Они не могут напрямую загружать или воспроизводить звуковые файлы в других форматы, такие как WAV или AIFF. [...]

Но, видимо, есть обходной путь. Проверьте сообщение № 3 в этой теме от actionscript.org :

Отвечать себе, если у кого-то есть тот же вопрос в будущем и в поисках ответа.

Я не смог найти прямой поддержки встраивание файлов WAV в Flex Builder 3 / Приложение ActionScript 3. Что я действительно пытался и был рад видеть это работает, чтобы создать Flash-фильм в Flash CS 3 (вам нужно будет владеть этим или получить оценку) и импортировать звучит в библиотеке и связать их с быть экспортирован с помощью ActionScript. экспорт проект Flash CS3 в кино SWF и сохранить его в своем проекте (я добавил это в "папку lib").

Ваш код ActionScript для создания и Воспроизведение звука должно быть:

[Embed(source="lib/Sounds.swf", symbol="BigShipSound")]
private static var BigShipSound: Class;
...
var bigShipSound : Sound = BigShipSound as Sound;
bigShipSound.play(0, 20);
7 голосов
/ 12 августа 2011

Есть библиотека, которую вы можете использовать

http://code.google.com/p/as3wavsound/

1 голос
/ 13 мая 2010

Проигрыватель Flash не знает, как напрямую воспроизводить файлы WAV. Это правда, что вы можете импортировать их в инструмент разработки, но когда вы публикуете SWF-файл, ваше аудио будет преобразовано в mp3 или adpcm или что-то другое, что вы выберете в настройках публикации. Даже если вы читаете в формате wav во время выполнения, единственный способ воспроизвести его - это анализ двоичного потока, поэтому, естественно, то же самое ограничение применяется, если вы встраиваете файл.

Некоторая связанная информация на этот вопрос . Что любопытно, что вы, кажется, прокомментировали в прошлом году! :)

...