Расшифруйте звук перед воспроизведением mp3-файла в flex - PullRequest
0 голосов
/ 20 декабря 2011

Это очень широкий вопрос, могу ли я дешифровать потоковый файл (при условии, что я зашифровал этот файл на стороне сервера во время загрузки), во flex до его обработки для воспроизведения.

1 Ответ

3 голосов
/ 20 декабря 2011

Вы можете обработать звуковые байты перед воспроизведением.Это пример из документации Adobe:

var sourceSnd:Sound = new Sound();
var outputSnd:Sound = new Sound();
var urlReq:URLRequest = new URLRequest("test.mp3");

sourceSnd.load(urlReq);
sourceSnd.addEventListener(Event.COMPLETE, loaded);

function loaded(event:Event):void
{
    outputSnd.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound);
    outputSnd.play();
}

function processSound(event:SampleDataEvent):void
{
    var bytes:ByteArray = new ByteArray();
    sourceSnd.extract(bytes, 4096);
    event.data.writeBytes(upOctave(bytes));
}

function upOctave(bytes:ByteArray):ByteArray
{
    var returnBytes:ByteArray = new ByteArray();
    bytes.position = 0;
    while(bytes.bytesAvailable > 0)
    {
        returnBytes.writeFloat(bytes.readFloat());
        returnBytes.writeFloat(bytes.readFloat());
        if (bytes.bytesAvailable > 0)
        {
            bytes.position += 8;
        }
    }
    return returnBytes;
}

Ссылка на эту ссылку .

...