Как заполнить аудиоочистительБазицикрировать для воспроизведения AMR
-
30-09-2019 - |
Вопрос
Исходные данные - AMR-NB 5.9KBit / S (AMR_5.90)
Я пробовал настройки ниже (и десяток вариантов), но я не получаю ничего больше, чем мусорный аудио. Кто-нибудь знает правильные настройки для AMR?
AudioStreamBasicDescription asbd;
asbd.mSampleRate = 8000.0;
asbd.mFormatID = kAudioFormatAMR;
asbd.mFormatFlags = 0;
asbd.mBytesPerPacket = 15; // (118>>3)
asbd.mFramesPerPacket = 1;
asbd.mBytesPerFrame = 15;
asbd.mChannelsPerFrame = 1;
asbd.mBitsPerChannel = 118; //tried also 0 and 13
asbd.mReserved = 0;
На основании информации из Википедии для AMR:
Частота выборки 8 кГц / 13-битный (160 образцов для 20 мс кадров)
Генерирует длину кадра 95, 103, 118, 134, 148, 159, 204 или 244 бита для битовых частот 4.75, 5.15, 5,90, 6,70, 7,40, 7,95, 10,2 или 12,2 кбит / с соответственно
И описание структуры данных отсюда:
Решение
iOS бросил поддержку AMR, поэтому новое решение - использовать OpenCoreamr для преобразования данных в PCM
Не связан с StackOverflow