Frage

Ich mache eine iPhone Aufnahme-Anwendung, die die Audio-Datei als .wav an einen externen Server senden muss.

aus dem Beispiel SpeakHere starten, kann ich Ton als Datei aufzeichnen, sondern nur als .caf

Wer weiß, wie es als wav statt aufzeichnen? Oder wie aus .caf konvertieren auf dem iPhone in .wav? (Die Umwandlung am Telefon geschehen muss)

EDIT:

Ich frage mich, ob alles kann mit der Verwendung von kAudioFileWAVEType statt kAudioFileCAFType in AudioFileCreateWithURL erfolgen

War es hilfreich?

Lösung

Yup, ist der Schlüssel kAudioFileWAVEType

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

Ändern im SpeakHere Beispiel von CAF WAVE bewirkt, dass die Aufnahme als wav zu sein. Ich bearbeite auch die gleiche Sache in der Wiedergabe-Klasse, und verändern die Dateinamen sein Recording.wav

Andere Tipps

Hier finden Sie aktuelle libsndfile . Es ist eine gut verwendet (einschließlich von Audacity) C-Bibliothek für mit vielen Dateiformaten arbeiten. Es unterstützt das Lesen und Schreiben einer Vielzahl von CAF und WAV-Formate.

Die CAF Dateistruktur und WAV-Format ziemlich ähnlich sind. Wenn die schlimmsten kommt, Umwandlung sollte nicht allzu schwer sein.

Es würde bedeuten, den Audio-Datenblock nehmen und Kopieren als in die WAV-Datei ist, und mit Hilfe der Informationen in der Audiodeskription Chunk ein äquivalentes fmt subchunk für die WAV-Datei hinzuzufügen. Es ist ziemlich einfach Byte Kopieren.

Beachten Sie jedoch, (als Eric wies darauf hin,) gibt es zur Lizenzierung finden: Kann die Libsndfile Bibliothek auf dem iPhone iOS verwendet werden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top