Запись звука как WAV на iphone

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

начиная с примера SpeakHere, я могу записывать звук как файл ,но только как.КАФ

кто-нибудь знает, как записать его как wav вместо этого? Или как конвертировать из .КАФ то .wav на iphone? (Преобразование должно произойти по телефону)

EDIT:

Мне интересно, можно ли что-нибудь сделать с помощью kAudioFileWAVEType вместо kAudioFileCAFType в AudioFileCreateWithURL

2 ответов


да, ключ kAudioFileWAVEType

AudioFileCreateWithURL (
            audioFileURL,
            kAudioFileWAVEType,
            &audioFormat,
            kAudioFileFlags_EraseFile,
            &audioFileID
        );

изменение на WAVE из CAF в Примере SpeakHere приводит к записи как wav. Я также редактирую то же самое в классе воспроизведения и изменил имя файла для записи.WAV и


посмотреть libsndfile выступает. Это хорошо используемая (в том числе Audacity) библиотека C для работы с большим количеством форматов файлов. Он поддерживает чтение и запись различных форматов CAF и WAV.

на структура файлов CAF и WAV-формате довольно схожи. Если худшее придет к худшему, обращение не должно быть слишком сложным.

Это будет включать в себя взятие куска аудиоданных и копирование как есть в WAV-файл и использование информация в звуковом описании Chunk, чтобы добавить эквивалент fmt субчанк для WAV-файла. Это довольно простое копирование байтов.

Однако имейте в виду (как отметил Эрик), есть проблемы с лицензированием, см.:можно ли использовать библиотеку Libsndfile на iPhone iOS?