#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 и их воспроизведение изначально.