Если вы подробно рассмотрели документацию computeSpectrum(), вы увидите , второй параметр устанавливает режим FFT.
FFT означает FastFourierTransform, в основном, если вы используете FFT по форме волны, которую вы переходите в частотную область, что означает вместо необработанных значений, у вас есть значения, которые сортируются по вашей частоте.
Все, что нужно изменить в коде:
SoundMixer.computeSpectrum(_testbytes, true);
Сейчас в _testbytes у вас будет 512 значений, 256 для левого канала и 256 для правого канала. Для каждого канала номера сортируются по частотам, от низкого до высокого (низкий, средний, средний, высокий, я думаю).
Вот и все, у вас есть частоты сейчас. SoundTransform имеет громкость, что является еще одним способом сказать амплитуду, я думаю. Если вам нравится делать Math.max() на некоторых из этих частот или leftPeak и rightPeak, идите на это.
Если вы хотите получить отвращение к этому, просто посмотрите FFT на википедию или DSP (обработка цифровых сигналов) или обработку звука, в противном случае должна быть достаточно документация as3 для computeSpectrum.
Что касается частоты дискретизации, this cool as library, похоже, для вас тяжелая работа.
НТН, Джордж
Привет Джордж, Спасибо за предоставленную мне направление. В амплитуде я пытаюсь вычислить пиковое значение из Sound Channel, это неправильно? Другое дело, как можно получить частоту дискретизации любого mp3-файла? Еще раз спасибо. Tanmoy –
Я вижу, обновленный ответ кажется подходящим сейчас^_ ^ –