Frage

Gibt es eine Weise, die ich in meinem iPhone app eine MP3-Datei in eine WAV / AIFF umwandeln kann? Ich habe ein mp3, aber ich mag es mit anderen Dateien kombinieren und dem einzigen Weg, ich weiß, dass dies getan werden kann, wenn PCM-Formate verwenden.

Kann mir jemand helfen hier?

Danke.

Einige Dinge, die ich versuchte,

Ich habe versucht, die AudioConverterFillComplexBuffer () -Methode und seine Callback mit dem MP3-Format caf zu konvertieren, aber der Bytes pro Paket und pro Frame als 0 gelesen werden Irgendwelche Ideen, wie ich kann, oder ob ich diese Funktion nutzen zu können?

Vielen Dank noch einmal.

War es hilfreich?

Lösung

WAV und AIFF oft (in der Regel?) Enthalten PCM, so etwas sind die dort Einwand? Oder sagen Sie, dass Sie Ihre MP3-Daten in PCM in Ordnung zu bringen, um es zu mischen (vielleicht in einem Mehrkanal-Mixer Audio-Gerät). Wenn Sie ernsthaft dies tun wollen, schauen Core Audio, insbesondere:

  • Audio File Service (das MP3-Format lesen und schreiben AIFF oder WAV)
  • Audio File Conversion Services (die MP3-Daten in PCM zu konvertieren, und / oder von PCM zu einem anderen Codec zu kodieren, wenn Sie eine Datei schreiben sind). Beachten Sie, dass ein bestimmte Wandler nicht zwischen zwei codierten Formaten konvertieren; Sie können MP3-to-PCM oder PCM-to-AAC, aber MP3-to-AAC zu tun, werden Sie zwei Konverter bräuchten.
  • Erweiterte Audio File Services, die beide der oben genannten kombinieren.

Überprüfen Sie die ConvertFile Beispiel im Core Audio SDK . Es öffnet sich eine Quelldatei für das Lesen, beschreibt das gewünschte Format der Zieldatei, liest Puffer von ein und schreibt sie in die andere. Der Code zeigt sowohl die separate Nutzung von File-Service + Konvertierungsdienste und die bequeme Nutzung von ExtAudioFiles.

Auch sicher sein, den Unterschied zwischen Codecs und Dateiformaten zu verstehen, und welche Codec / Format-Kombinationen sind legal. Ich war das erste Mal überrascht fand ich heraus, dass PCM Little-Endian in einer WAV sein muss, Big-Endian in einer AIFF.

Andere Tipps

Sie können sich wahrscheinlich mit der richtigen Menge von Core Audio-Einheiten tun dies, aber es wird wahrscheinlich eine Menge CPU verwenden. Sie sollten die Daten vor der Zeit konvertieren (vielleicht bei der Erstellung?), Wenn Sie können.

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