2009-12-10 6 views
4

J'ai mis en œuvre une fonction d'enregistrement audio en utilisant AVAudioRecorder avec AVSampleRateKey comme 44100.0 et son enregistré sous .caf. Une fois l'audio enregistré, je souhaite que l'utilisateur puisse couper l'audio des deux extrémités si nécessaire. Quelqu'un peut-il m'aider s'il vous plaît à implémenter cela?Fichier de retouche de l'iPhone SDK

Dans mon cas, étant donné que AVSampleRateKey est 44100.0, 44100 octets représentent 1 seconde d'enregistrement. Droite? Donc, si je supprime ces nombreux octets de la fin, l'audio sera rogné à la fin. Mais à partir de la taille depuis le début, combien d'octets dois-je sauter pour que l'en-tête reste intact?

Ce sera génial si vous pouvez me diriger vers un tutoriel/document.

Merci beaucoup à l'avance

Répondre

1

L'en-tête d'un fichier CAF contient généralement des informations sur combien de temps le morceau de données devrait être, ainsi que d'autres données qui doivent être compatibles pour l'intégrité du fichier. Si vous supprimez juste des octets à la fin du fichier, cela ressemblera à un fichier corrompu vers d'autres applications. Si vous utilisez ExtAudioFile pour accéder aux fichiers, vous devriez être capable de lire le fichier audio et d'obtenir les données d'exemple, puis d'écrire un nouveau fichier audio avec les extrémités coupées.

+0

Excellent! Pourriez-vous s'il vous plaît fournir un exemple s'il vous plaît! Je pense que j'ai ce problème ici - http://stackoverflow.com/questions/9385705/iphone-nsdata-representation-of-audio-file-for-editing – applefreak