Какие форматы поддерживаются в AVAudioRecorder для записи звука? - PullRequest
5 голосов
/ 29 июля 2011

Я нашел список различных значений (формат аудиоданных) в http://developer.apple.com/library/ios/#documentation/MusicAudio/Reference/CoreAudioDataTypesRef/Reference/reference.html#//apple_ref/doc/uid/TP40004488

Идентификаторы формата аудиоданных Идентификаторы для форматов аудиоданных, используемых в структуре AudioStreamBasicDescription.

kAudioFormatLinearPCM= 'lpcm',

kAudioFormatAC3 = 'ac-3',

kAudioFormat60958AC3 = 'cac3',

kAudioFormatAppleIMA4 = 'ima4',

kAudioFor= 'aac',

kAudioFormatMPEG4CELP = 'celp',

kAudioFormatMPEG4HVXC = 'hvxc',

kAudioFormatMPEG4TwinVQ = 'twvq', * 1020Au для 21, 21Ma * 1021A * 21MAC3 ',

kAudioFormatMACE6 =' MAC6 ',

kAudioFormatULaw =' ulaw ',

kAudioFormatALaw =' alaw ',

kAudioFormatQDesign =' QDMC ',

kAudioFormatQDesign2 = 'QDM2',

kAudioFormatQUALCOMM = 'Qclp',

kAudioFormatMPEGLayer1 = '.mp1',

kAudio2mat '=.,

kAudioFormatMPEGLayer3 = '.mp3',

kAudioFormatTimeCode = 'time',

kAudioFormatMIDIStream = 'midi',

kAudioFormatParameterValueStream = 'apvs',

kAudioFormatAppleLossless = 'alac'

*AFormat *aach ',

kAudioFormatMPEG4AAC_LD =' aacl ',

kAudioFormatMPEG4AAC_ELD =' aace ',

kAudioFormatMPEG4AAC_HE_V2 =' aacp'_7 * '* * * *,

kAudioFormatAMR = 'samr',

kAudioFormatAudible = 'AUDB',

kAudioFormatiLBC = 'ilbc',

kAudioFormatDVIIntelIM73 = 0666 * 066

kAudioFormatMicrosoftGSM = 0x6D730031,

kAudioFormatAES3 = 'aes3'

Однако я не думаю, что мы можем использовать все упомянутые форматы (например, mp3).

Может кто-нибудь помочьменя с форматами, которые поддерживаются для записи звука с использованием AVAudioRecorder?

Спасибо.

Ответы [ 2 ]

10 голосов
/ 29 июля 2011

Согласно Apple Docs Apple Core Audio Format Specification 1.0 теперь он должен поддерживать mp3, хотя я не проверял его, это текущее перечисление, которое они поддерживают:

enum {
    kAudioFormatLinearPCM      = 'lpcm',
    kAudioFormatAppleIMA4      = 'ima4',
    kAudioFormatMPEG4AAC       = 'aac ',
    kAudioFormatMACE3          = 'MAC3',
    kAudioFormatMACE6          = 'MAC6',
    kAudioFormatULaw           = 'ulaw',
    kAudioFormatALaw           = 'alaw',
    kAudioFormatMPEGLayer1     = '.mp1',
    kAudioFormatMPEGLayer2     = '.mp2',
    kAudioFormatMPEGLayer3     = '.mp3',
    kAudioFormatAppleLossless  = 'alac'
};
1 голос
/ 20 февраля 2018

Список выше просто

определенные на данный момент значения для поля mFormatID

не поддерживается для записи.

Есть протестированные форматы AVAudioRecorder (с частотой дискретизации):

"MPEG4AAC (8000, 11025, 22050, 32000, 44100, 48000)",
"AppleLossless (8000, 11025, 22050, 32000, 44100, 48000)",
"MPEG4AAC_HE (32000, 44100, 48000)",
"MPEG4AAC_LD (22050, 32000, 44100, 48000)",
"MPEG4AAC_ELD (22050, 32000, 44100, 48000)",
"MPEG4AAC_ELD_SBR (22050, 32000, 44100, 48000)",
"MPEG4AAC_ELD_V2 (22050, 32000, 44100, 48000)"

Пример:

[[AVAudioRecorder alloc] initWithURL:outputFileURL
                            settings:@{
                                       AVFormatIDKey : @(kAudioFormatMPEG4AAC),
                                       AVSampleRateKey : @(44100.0),
                                       AVNumberOfChannelsKey : @(2)
                                       }
                               error:&error];

также Поддерживаемые форматы аудио файлов

...