Прочитайте пиковый уровень аудио входа в Какао - PullRequest
1 голос
/ 27 апреля 2010

Я пытаюсь сделать чувствительную к звуку анимацию, и для этой цели я ищу способ найти текущий уровень звука. Я ищу пик в установленное количество времени. (Представьте себе красную полосу, которая остается на секунду или около того на аудиометре.)

Я искал что-то подобное, и единственное, что я смог найти, - это как прочитать уровни звука в фильме и как Quartz Compositions имеют доступ к этому через свой протокол iTunes Visualizer.

Я ищу способ прочитать это с микрофона, хотя мне также интересно, если вы знаете, как прочитать это из аудиофайла.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 27 апреля 2010

Посмотрите здесь. Вам нужен один из методов «детектора огибающей» или «простого пикового повторителя».

Если вы делаете это, рано или поздно вам понадобится другой алгоритм с этого сайта.

2 голосов
/ 29 апреля 2010

Я искал то же самое и наткнулся на ваш пост. Я нашел ответ. Вам необходим QTCaptureConnection для аудиоустройства, тогда вы можете отслеживать атрибут QTCaptureConnectionAudioAveragePowerLevelsAttribute соединения. Посмотрите этот пример проекта, чтобы показать детали: здесь

0 голосов
/ 27 апреля 2010

Вы можете использовать службы AudioQueue для записи буферов, а затем использовать цикл for для каждой 16-битной выборки, чтобы найти пик. Вы можете сделать то же самое для вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...