Comment remplir AudioStreamBasicDescription pour la lecture AMR
-
30-09-2019 - |
Question
données source sont 5.9kbit AMR-NB / s (AMR_5.90) ??
J'ai essayé les paramètres ci-dessous (et une douzaine de variations), mais je deviens rien de plus que l'audio des ordures. Est-ce que quelqu'un sait les paramètres corrects pour 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;
Sur la base d'informations de wikipedia pour AMR:
fréquence d'échantillonnage de 8 kHz / 13 bits (160 échantillons pour des trames de 20 ms)
Génère longueur de trame de 95, 103, 118, 134, 148, 159, 204, ou 244 bits pour les débits binaires 4,75, 5,15, 5,90, 6,70, 7,40, 7,95, 10,2, ou 12,2 kbit / s, respectivement
Et la description de la structure de données d'ici:
La solution
iOS a chuté support AMR, de sorte que la nouvelle solution est d'utiliser OpenCoreAMR pour convertir des données PCM