Ich möchte ein Feature implementieren, mit dem der Benutzer eine Audiodatei (.caf) trimmen kann, die er zuvor aufgenommen hat. Der Aufnahmeteil funktioniert bereits, aber wie kann ich eine Trimm-Funktion hinzufügen, die der in der Voicememos App ähnelt? Gibt es eine API für den Audiotrimmer, den Apple verwendet? Jede Hilfe wäre großartig ...
Wie wäre es mit AVFoundation? Importieren Sie die Audiodatei in einen AVAsset (Komposition usw.), und exportieren Sie sie - unter Angabe bevorzugter Zeit + Dauer - in eine Datei.
Ich habe vor einiger Zeit eine Bestandsfunktion geschrieben, die ein Asset in eine Datei exportiert. Sie können auch einen Audiomix angeben. Wie unten exportiert es die gesamte Datei, aber Sie könnten NTFimeRange zu exporteur.timeRange hinzufügen und los gehts. Ich habe das zwar noch nicht getestet, sollte aber funktionieren (?). Eine andere Alternative könnte darin bestehen, Zeitbereiche anzupassen, wenn die AVAsset + -Spuren erstellt werden. Der Exporteur behandelt natürlich nur m4a (AAC). Entschuldigung, wenn das nicht das war, was du wolltest.
%Vor%Die obige Antwort von @Jonny ist korrekt. Hier habe ich die Verwendung von AudioMixer hinzugefügt, um den Fade-in-Effekt beim Audio-Trimmen hinzuzufügen.
%Vor%Ausgabe: Audio-Asset auf 20 Sekunden mit einer Einblendung von 10 Sekunden getrimmt. Die im Code-Schnipsel eingerichtete Trimmung erfolgt in 30 Sekunden Marke des Vermögenswerts und daher sollte die Trackdauer mindestens betragen 50 Sekunden.
Danke
Für weitere Details:
Tags und Links audio cocoa-touch core-audio trim