>>но 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);
}
}