Подтвердить что ты не робот

Генерация формы сигнала из любого музыкального файла ios

Я ищу, как рисовать звуковые волны в соответствии с музыкой.

Мне нужны волны, подобные этому изображению. enter image description here

вот несколько дискуссий о показе Волн из музыки

Примеры ссылок Github

но не понимая этого типа волны, можно ли рисовать волны, подобные этому изображению?

4b9b3361

Ответ 2

Отказ от ответственности: многие из них были обнаружены с помощью проб и ошибок, я могу иметь здесь несколько серьезных ложных предположений:

Вам нужно будет использовать фреймворк AudioUnits. При инициализации воспроизведения вы можете создать AURenderCallbackStruct. Вы можете указать в этой структуре функцию обратного вызова воспроизведения, которая предоставляет вам несколько аргументов, которые будут содержать необходимую вам информацию.

функция обратного вызова будет иметь такую ​​подпись:

static OSStatus recordingCallback (void *inRefCon,
                                   AudioUnitRenderActionFlags *ioActionFlags,
                                   const AudioTimeStamp *inTimeStamp,
                                   UInt32 inBusNumber,
                                   UInt32 inNumberFrames,
                                   AudioBufferList *ioData) 

Здесь представлен массив аудиоданных, который может использоваться для получения амплитуды звукового буфера для каждого частотного бункера или для вычисления значения БД в частотном поле.

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

Аудиоустройства не просты, но стоит поиграть некоторое время, пока не получите хватку.

Вот скелет моей функции обратного вызова, поэтому у вас есть больше понимания того, что я имею в виду:

EDIT: удалена мертвая ссылка, я потерял этот код извините

Ответ 3

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