Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Динамическое создание класса Sound (http://www.flasher.ru/forum/showthread.php?t=171395)

Genzo 15.11.2011 11:54

Динамическое создание класса Sound
 
Динамически создаю звук и храню в ByteArray, потом звук необходимо воспроизвести, но SampleDataEvent меня не устраивает, соответственно решил генерировать класс и грузить Loader'ом. Нашел много примеров, но все они уже в обширных проектах для динамической генерации SWF'ок, а мне нужна только спецификация одного класса Sound, есть где нибудь информация о структуре класса Sound и как его запихнуть в ByteArray и загрузить Loader'ом ?

это и это можно не предлагать =)

alatar 15.11.2011 12:35

Чем вас не устроил SampleDataEvent?
Sound нет смысла "грузить Loader'ом", он сам загрузчик.

Alex Lexcuk 15.11.2011 12:45

>>но SampleDataEvent меня не устраивает
Должен устраивать, тк. другого выхода нет.
Код AS3:

public var soundSamples:Vector.<Number>

в этот массив надо закинуть амплитуду звука в диапазоне от -1 до +1; и воспроизвести теперь можно так
Код AS3:

...
pos = 0;
soundBas = new Sound();
soundBas.addEventListener(SampleDataEvent.SAMPLE_DATA, basSoundSampleDataHandler);
soundBas.play();
...
                private function basSoundSampleDataHandler(event:SampleDataEvent):void {
                        var i:int;
                        var n:Number = 0;
                        pos += 8192;
                        for (i = pos; i < pos + 8192; i++) {
                                if (i >= soundSamples.length) break;
                                event.data.writeFloat(n = soundSamples[i]);
                                event.data.writeFloat(n);
                        }
                }


fantomasdnb 15.11.2011 14:18

боюсь наврать, но когда пытался разобраться с работой с mp3, очень часто встречал org.audiofx.mp3. Я думаю там есть методы, которые вам помогут.

Genzo 15.11.2011 14:55

Всем спасиб, решил проблему кодированием в FLV внутри приложения и проигрыванием через NetStream#appendBytes, просто с утра что-то притормаживал=)


Часовой пояс GMT +4, время: 23:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.