Встраивание wav файлы в проекте Flash/Flex AS3?

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

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

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

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

... но я добираюсь

no transcoder registered for mimeType 'audio/wav'

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

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

Какие-либо берущие?

6
задан aaaidan 13 May 2010 в 09:12
поделиться

2 ответа

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

[...] {{ 1}} Хотя существуют различные форматы звуковых файлов , используемые для кодирования цифрового звука, 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 для создания и {1}} воспроизведения звука должен быть:

  [Embed (source = "lib / Sounds.swf ", symbol =" BigShipSound ")] 
private static var BigShipSound: Class; 
 ... 
var bigShipSound: Sound = BigShipSound as Sound; 
bigShipSound. play (0, 20); 
 
14
ответ дан 8 December 2019 в 05:53
поделиться

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

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

1
ответ дан 8 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: