![]() |
sound.extract() vs. computeSpectrum()
Пытаюсь получить форму волны для mp3 (в примере только для левого канала), очень удивился, когда обнаружил, что методы sound.extract() и computeSpectrum() возвращают разные значения.
Подскажите в чем проблема? Или, быть может так быть и должно? Функция onEnterFrame запускается по таймеру каждые 0.5 сек. Код AS3:
|
такое предположение: _soundChannel.position просто не совпадает с началом выборки SoundMixer.computeSpectrum, сигналы какбе похожие, только смещены, не ?
во всяком случае, если смотреть частотные характеристики, а не амплитуды, то особых разночтений нет |
Да, сигналы похожи, в вашем примере с частотами разница тоже заметна. Хотелось бы понять отуда эта разница берется...
Пробовал подбором _soundChannel.position +- 1-20мс, но ничего не добился. |
сейчас смотрю на ENTER_FRAME
Код AS3:
|
А почему length взял 256?
|
computeSpectrum отдает только 256, нет смысла смотреть больше в этом контексте
|
computeSpectrum отдает 512.
|
512, где первые 256 значений представляют левый канал, а следующие 256 значений — правый
|
Хорошо, даже если ты потом корректируешь смещение, считывать надо не 256 байт, а 256 значений с плавающей запятой.
|
256 в sound.extract(ba,256,..) не в байтах, а в сэмплах(точках) саунда, в ba запишет 2048 байта
т.е. хотелось просто поерзать относительно soundChannel.position |
Блин, точно :) Давно со звуком не работал.
Добавлено через 3 минуты Проще, пожалуй, попробовать найти байты полученные из computeSpectrum в байтах из extract, чем подбирать смещение. |
попробовать-то можно, канеш
но даже если найдешь, то не факт, что смещение это останется таким же на другой машине или при другой нагрузке.. в-общем, не вижу причин сильно упираться: не совпадает, ну и икс с ним, ничего от этого не сломается |
Согласен :)
|
| Часовой пояс GMT +4, время: 01:45. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.