Встраивание wav в формате 3

#actionscript-3

#actionscript-3

Вопрос:

Как я могу встроить wav в as3 / flash builder?

У меня есть:

 [Embed(source="assets/sounds/claps.wav")]
public var testSound:Class;
private var blahsound:Sound = Sound(new testSound());
  

Но не повезло…

Ответ №1:

Вы не можете. Ну, не напрямую.

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

Вам либо нужно преобразовать его в mp3 перед его встраиванием. Или встроить его как ByteArray, а затем попробуйте использовать SampleDataEvent.SAMPLE_DATA для заполнения звукового буфера вручную байтами из wav-файла, но вам придется немного подправить.

Комментарии:

1. Хорошо, тогда, возможно, используйте mp3? Какой формат лучше всего использовать с air? Мне нужен быстрый ответ, материал воспроизводится с задержкой на Android…

2. На самом деле вы можете, используя [As3WavSound]( AS3WavSound ) до определенного момента. Библиотека так и не была завершена, но все еще имеет некоторые базовые функции. Под водой он использует технику, о которой вы упомянули.

Ответ №2:

Это возможно, но халтурно. Как сказал @32bitkid, FP напрямую не поддерживает загрузку звуковых файлов, отличных от mp3. Решение состоит в том, чтобы загрузить wav как a ByteArray , создать SWF-файл в памяти (поскольку с помощью Flash IDE вы можете добавлять файлы wav), а затем получить доступ к звуковому объекту из этого SWF.

Проверьте http://richapps.de/?p=97

Ответ №3:

Вы можете попробовать библиотеку с открытым исходным кодом as3wavsound (AWS). Он поддерживает встраивание файлов .wav и их воспроизведение изначально.