3
我试图将一个声音对象的byteArray转换为一个浮点数组。 Sound对象播放全长度回罚款&,但浮动阵列我从它那里得到被切断(但听起来正确的),所以我必须做一些错误的转换:原始声音字节数组浮点数组
var s:Sound = mySound;
s.play(); // plays fine
var bytes:ByteArray = new ByteArray();
bytes.endian = Endian.LITTLE_ENDIAN;
s.extract(bytes, s.bytesTotal, 0);
var leftChannel:Array = new Array();
var rightChannel:Array = new Array();
bytes.position = 0;
while (bytes.bytesAvailable)
{
leftChannel.push(bytes.readFloat());
rightChannel.push(bytes.readFloat());
}
,这是什么我得到:
alt text http://i48.tinypic.com/17wmls.jpg
顶部的两个通道的原始声音对象。 下面两个是float数组数据。我把它们对齐,这样你就可以看到开始被切断,显然长度不正确。
感谢您的任何答案...
使用此s.extract(bytes,numTotalSamples,0)提取声音时;在未能执行此方法的fms控制台上引发错误。 – 2012-05-24 03:54:14