سؤال

أقوم بإجراء تطبيق تسجيل iPhone الذي يحتاج إلى تقديم ملف الصوت كإرسال إلى خادم خارجي.

بدءا من مثال التحدث، أنا قادر على تسجيل الصوت كملف، ولكن فقط كما .caf

هل يعرف أحد كيفية تسجيله باعتباره WAV بدلا من ذلك؟ أو كيفية التحويل من .caf إلى .wav على iPhone؟ (يجب أن يحدث التحويل على الهاتف)

تعديل:

أتساءل عما إذا كان يمكن القيام بأي شيء باستخدام KaudioFileWaveType بدلا من KaudioFileCaftype في AudioFilreatewithurl

هل كانت مفيدة؟

المحلول

نعم، المفتاح هو kaudiofilewaveType

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

يتسبب تغيير الموجة من CAF في المثال في المثال، التسجيل ليكون WAV. أنا أيضا تحرير نفس الشيء في فئة التشغيل، وتغيير اسم الملف لتسجيله.

نصائح أخرى

القي نظرة على libsndfile.. وبعد إنها مستعملة جيدا (بما في ذلك الجرأة) C Library للعمل مع الكثير من تنسيقات الملفات. وهو يدعم قراءة وكتابة مجموعة متنوعة من تنسيقات CAF و WAV.

ال هيكل ملف CAF. و تنسيق WAV متشابهة إلى حد ما. إذا كان الأسوأ يأتي إلى الأسوأ، فلا ينبغي أن يكون التحويل صعبا للغاية.

سيتضمن تناول قطع البيانات الصوتية، والنسخ كما هو في ملف WAV، واستخدام المعلومات الموجودة في الوصف الصوتي إلى إضافة ما يعادل FMT. Subchunk لملف WAV. إنه نسخ بايت بسيط إلى حد ما.

ومع ذلك، كن على علم (كما وردت إريك أوضح) هناك مشكلات ترخيص، انظر: هل يمكن استخدام مكتبة Libsndfile على iPhone iOS؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top