Показать сообщение отдельно
Старый 23.11.2009, 19:06
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 3  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
а почему медленно? по идее можно в режиме реального времени, если вот так:
Код AS3:
var mySound:Sound = new Sound();
function sineWaveGenerator(event:SampleDataEvent):void {
    for ( var c:int=0; c<8192; c++ ) {
        event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
        event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
    }
}
 
mySound.addEventListener(Event.SAMPLE_DATA,sineWaveGenerator);
mySound.play();
В примере из хелпа идет генерация звука, но никто не мешает брать эту самую дату и записывать в ByteArray
То есть для нескольких звуков - все подписать на событие sampleData и складывать данные в некий буфер, а в буфере производить все нужные действия (складывать, вычитать, умножать... =) )

UPD:
Единственный косяк, что результат не получится сохранить локально (то есть в один звуковой объект). Хотя, если написать свой кодек... =)
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 23.11.2009 в 19:35.