Come compilare AudioStreamBasicDescription per la riproduzione AMR
-
30-09-2019 - |
Domanda
dati di origine è AMR-NB 5.9kbit / s (AMR_5.90) ??
Ho provato il seguito impostazioni (e una dozzina di varianti), ma sto diventando nient'altro che spazzatura audio. Qualcuno sa le impostazioni corrette per 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;
In base a informazioni da wikipedia per AMR:
La frequenza di campionamento 8 kHz / 13-bit (160 campioni per 20 ms frame)
Genera lunghezza di frame di 95, 103, 118, 134, 148, 159, 204, o 244 bit per bit rate 4,75, 5,15, 5,90, 6,70, 7,40, 7,95, 10,2, 12,2 kbit / s, rispettivamente
E la descrizione della struttura dei dati da qui:
Soluzione
iOS abbandonato il supporto AMR, in modo che la nuova soluzione è quella di utilizzare OpenCoreAMR ai dati convertire in PCM
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow