Запись звука «Apple без потерь» на iPhone
-
22-08-2019 - |
Вопрос
Не могли бы вы указать мне на документы/фрагменты/блоги, которые объясняют, как записывать аудиофайлы без потерь Apple на iPhone, пожалуйста?
Я осмотрел пример рекордера аудио из Центра Apple Dev, но не смог выяснить, какой настройки я использую для аудио без потерь.
С уважением,
Стефан
Решение
ОС iPhone поддерживает запись файла .caf с использованием ряда различных форматов кодирования сжатого звука:
Apple Lossless — kAudioFormatAppleLossless
iLBC (Интернет-кодек с низким битрейтом) — kAudioFormatiLBC
IMA/ADPCM (также известный как IMA4) — kAudioFormatAppleIMA4
µLaw - kAudioFormatULaw
aLaw - kAudioFormatALaw
- (id) initWithURL: fileURL {
NSLog (@"initializing a recorder object.");
self = [super init];
if (self != nil) {
// define the audio stream basic description for the file to record into
// record audio at the current hardware sample rate
// make sure the audio session is active before asking for properties
UInt32 propertySize = sizeof(audioFormat.mSampleRate);
AudioSessionGetProperty(kAudioSessionProperty_CurrentHardwareSampleRate,
&propertySize,
&audioFormat.mSampleRate);
audioFormat.mFormatID = kAudioFormatAppleIMA4; // record using IMA4 codec
audioFormat.mChannelsPerFrame = 1;
AudioQueueNewInput(&audioFormat, ... );
...
}
return self;
}
Вам обязательно захочется прочитать Руководство по программированию служб аудиоочередей
Другие советы
Взгляните на пример SpeakHere в центре разработки Apple iPhone.
Я использую iTalk Recorder Premium для .aiff (несжатого), затем экспортирую на ноутбук и использую флак чтобы сжать его - по умолчанию сохраняются отметки времени.
flac --best *.aiff