0
这是一个非常宽泛的问题,我可以对流式文件进行解压缩(假设我在上载过程中在服务器端加密此文件),在flex处理之前播放。在flex中播放mp3文件之前解密声音
这是一个非常宽泛的问题,我可以对流式文件进行解压缩(假设我在上载过程中在服务器端加密此文件),在flex处理之前播放。在flex中播放mp3文件之前解密声音
您可以在播放前处理声音字节。这是例如从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;
}
参考this link。