0
A
回答
0
首先,例如,必须使用Sound.load()
加载MP3,或者将其加载到Flash IDE的库中并导出为ActionScript。然后,您可以使用Sound.extract()
从MP3中获取波形数据。这将为您提供样本数据,并返回到您可以读出的ByteArray
包装的时间间隔。
样品在[-1.0,1.0]范围内,因此计算间隔强度级别的一种简单方法是在样品中找到最大绝对值。以下是一些示例代码:
var sound:Sound = new Sound();
sound.load(new URLRequest("sound.mp3"));
sound.addEventListener(Event.COMPLETE, onSoundLoaded);
function onSoundLoaded(event:Event):void {
var byteArray:ByteArray = new ByteArray();
sound.extract(byteArray, 4096);
byteArray.position = 0;
var max:Number = 0;
while(byteArray.position != byteArray.length)
{
var sample:Number = Math.abs(byteArray.readFloat());
if(sample > max) max = sample;
}
trace(max);
}
这将输出前4096个采样的级别。你将不得不重复这个来获得更多的价值。
相关问题
- 1. QSerialPort分别读取十六进制值
- 2. OleDB读取Excel十进制值
- 3. 输入十六进制并用C++读取十六进制
- 4. 十进制值
- 5. 从excel中读取复制的十进制值
- 6. 读取SSIS中的负值十进制值
- 7. 如何读取sqlite3十进制列?
- 8. 从文件中读取十六进制
- 9. 十进制值/ SQL
- 10. 十六进制值
- 11. 双十进制值
- 12. 从十进制值
- 13. 从文本文件中读取十六进制值
- 14. 从串口读取十六进制数据阵列字节值
- 15. 从文件中读取十六进制值,并用C
- 16. 从数据库中读取十进制值时输出错误
- 17. 未成功使用sscanf的十六进制值读取
- 18. Hive无法从hdfs读取十进制值
- 19. 从fstream读取十六进制值到int
- 20. PHP从MS SQL读取二进制UID值作为十六进制
- 21. ExtJS:如何获取十进制数值
- 22. 从XML获取十进制值
- 23. 获取结果的十进制值
- 24. 获取不同的十六进制值
- 25. 获取ipv6地址的十进制值
- 26. 解释十六进制值?
- 27. 存储十六进制值
- 28. 从十六进制值
- 29. Xamarin.Forms.Color到十六进制值
- 30. 十六进制值在Android
非常感谢帮助 – 2011-04-05 17:55:02