Как заполнить аудиоочистительБазицикрировать для воспроизведения AMR

StackOverflow https://stackoverflow.com/questions/2866367

  •  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 кбит / с соответственно

И описание структуры данных отсюда:

http://developer.apple.com/iphone/Library/documentation/musicaudio/reference/coreaudiodatatypesref/reference/reference.html#//apple_ref/doc/c_ref/audiostreambasicdescription

Это было полезно?

Решение

iOS бросил поддержку AMR, поэтому новое решение - использовать OpenCoreamr для преобразования данных в PCM

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top