какие форматы поддерживает AVAudioRecorder для записи звука?

Я нашел список различных значений (формат аудиоданных) по адресу 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',

kAudioFormatMPEG4AAC = 'aac',

kAudioFormatMPEG4CELP = 'celp',

kAudioFormatMPEG4HVXC = 'hvxc',

kAudioFormatMPEG4TwinVQ = 'twvq',

kAudioFormatMACE3 = 'MAC3',

kAudioFormatMACE6 = 'MAC6',

kAudioFormatULaw = 'улав',

kAudioFormatALaw = 'разрешить',

kAudioFormatQDesign = 'QDMC',

kAudioFormatQDesign2 = 'QDM2',

kAudioFormatQUALCOMM = 'Qclp',

kAudioFormatMPEGLayer1 = '.mp1',

kAudioFormatMPEGLayer2 = '.mp2',

kAudioFormatMPEGLayer3 = '.mp3',

kAudioFormatTimeCode = 'время',

kAudioFormatMIDIStream = 'миди',

kAudioFormatParameterValueStream = 'apvs',

kAudioFormatAppleLossless = 'alac'

kAudioFormatMPEG4AAC_HE = 'aach',

kAudioFormatMPEG4AAC_LD = 'aacl',

kAudioFormatMPEG4AAC_ELD = 'aace',

kAudioFormatMPEG4AAC_HE_V2 = 'aacp',

kAudioFormatMPEG4AAC_Spatial = 'aacs',

kAudioFormatAMR = 'самр',

kAudioFormatAudible = 'AUDB',

kAudioFormatiLBC = 'ilbc',

kAudioFormatDVIIntelIMA = 0x6D730011,

kAudioFormatMicrosoftGSM = 0x6D730031,

kAudioFormatAES3 = 'aes3'

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

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

Спасибо.


person Ahsan    schedule 29.07.2011    source источник


Ответы (2)


Согласно документам Apple Спецификация формата Apple Core Audio 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'
};
person Oscar Gomez    schedule 29.07.2011
comment
спасибо. Любая идея, как легко конвертировать в mp3 любой из вышеперечисленных? - person Ahsan; 29.07.2011
comment
Это все еще актуально? Каков источник этого списка? - person Stephen Groom; 06.05.2015
comment
@StephenGroom Похоже, теперь он должен поддерживать mp3, я обновил свой ответ, указав самую последнюю поддержку формата / кодека. - person Oscar Gomez; 06.05.2015
comment
Можно ли сохранить записанный файл в формате .3gp. - person siva; 12.05.2015
comment
Например, какое расширение файла использует... alaw? - person Josh; 06.06.2016

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

текущие определенные значения для поля 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];

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

person Stanislav P.    schedule 20.02.2018
comment
Не могли бы вы сообщить мне, какой из них производит лучшую запись? - person Rajat Mishra; 04.06.2020
comment
Лучшее качество? AppleLossless 48000, наверное. Я не уверен. - person Stanislav P.; 05.06.2020
comment
да. Я нашел, что и ima4 одинаковые и лучшего качества. Спасибо :) - person Rajat Mishra; 05.06.2020