Сохранить аудио в формате caf в формате wav - PullRequest
1 голос
/ 25 октября 2010

Я записываю аудио в формате .caf, а затем мне нужно преобразовать его в .wav, чтобы отправить файл в виде вложения электронной почты. Как я могу преобразовать файл в формат wav в iOS 3.1.x?

Формат аудио:

[NSNumber numberWithInt:kAudioFormatLinearPCM], AVFormatIDKey,
[NSNumber numberWithFloat:11025.0f],            AVSampleRateKey,
[NSNumber numberWithInt:1],                     AVNumberOfChannelsKey,
[NSNumber numberWithInt:16],                    AVLinearPCMBitDepthKey,
[NSNumber numberWithBool:YES],                  AVLinearPCMIsBigEndianKey,
[NSNumber numberWithBool:NO],                   AVLinearPCMIsFloatKey,

Я не привязан к этому формату, мне просто нужно иметь возможность записывать и воспроизводить на устройстве и отправлять по электронной почте файл версии wav.

Ответы [ 2 ]

4 голосов
/ 28 октября 2010

Ответ прост, просто init с расширением .wav.

Ответ предоставил Пол Бруно на форуме разработчиков Apple:

Из справочных документов по классам рекордер определяет тип файла по выбранному вами расширению. Так что попробуйте .aiff или .aif или .wav

initWithURL: Настройки: ошибка: Инициализирует и возвращает аудио-рекордер.

- (id)initWithURL:(NSURL *)url
settings:(NSDictionary *)settings
error:(NSError **)outError

Параметры: url

Расположение файловой системы для записи. Тип файла для записи выводится из расширения файла, включенного в значение этого параметра.

2 голосов
/ 25 октября 2010

Плохое:

Я не думаю, что существует какой-либо "автоматический" способ сделать это с iPhone, то есть вы должны сделать это самостоятельно - вручную.

The Good:

Это очень просто сделать.WAV-файл (если вы только что говорили об использовании необработанного, несжатого звука) - это всего лишь заголовок, который нужно вставить в начало аудиоданных.Формат очень прост.В Интернете есть многочисленные ссылки:

http://www.sonicspot.com/guide/wavefiles.html

Уродливый:

Я не знаком с исходным форматом, о котором вы говорите,Если это несжатый, отлично.Если нет, вам может понадобиться распаковать его.В файлах WAV также есть методы для хранения сжатых данных, поэтому, если ваш источник данных сжат, вы можете сохранить его как таковой в WAV, создав новые заголовки и указав ихсжатый как таковой.

Также - под "сжатым" - я имею в виду любой кодек, отличный от стандартного X-битного Y-Channel PCM.

...