Запись звука как 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?