سؤال

أقوم بتطوير تطبيق لمزج الموسيقى في iPhone. سوف يمزج الموسيقى ويمكن للمستخدم تكوين موسيقى جديدة منها. أحتاج إلى تسجيل هذه الموسيقى النهائية. كنت قد استخدمت AvaudioreCorder لتسجيل هذا واحد. لكن لا تغيير. يمكن أن يسجل الصوت من الميكروفون ولكني بحاجة إلى تسجيل صوت التطبيق.

كنت قد استخدمت وظيفة استدعاء قائمة انتظار الصوت لتسجيل الصوت. ولكن عند تشغيل التطبيق ، يمكنني سماع الصوت من تطبيقي ولم أستطع سماع أي صوت من الصوت المسجل. لا توجد مشكلة في التسجيل حيث يمكنني سماع الصوت المسجل من خلال الميكروفون. لكنني بحاجة إلى مسجل غير متصل يمكنه تسجيل إخراج الصوت من iPhone ، بدلاً من إدخال الصوت من خلال الميكروفون. أحتاج إلى مسجل يمكنه تسجيل الصوت باستخدام iPod Touch (بدون ميكروفون).

أي مساعدة؟

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

المحلول

لقد وجدت الحل بطريقة أخرى. كنت قد استخدمت الرسم البياني الصوتي يتكون من وحدتين صوتيتين. الخلاط الرقمي ووحدة الصوت الإخراج. لقد قمت بإنشاء الخلاط مع ست قنوات حتى أتمكن من لعب ستة أدوات في وقت واحد. عندما يقوم المستخدم بتكوين الموسيقى ، سأقوم بحفظ المحتوى وخلال التسجيل في وضع عدم الاتصال ، سأقوم بتسلسل الأدوات المحفوظة إلى الخلاط.

للحصول على أداء أفضل ، سأوقف الرسم البياني الصوتي أثناء تحميل ملفات الصوت أو الأدوات الجديدة. بعد تحميل الملفات ، سيستأنف التسجيل مرة أخرى.

في وظيفة تشغيل الإدخال من الخلاط ، وفقًا لرقم ناقل الإدخال ، سيتم تغذية حزم الصوت للخلاط. في تشغيل الإدخال مرة أخرى من وحدة الصوت الإخراج ، يتم تخصيص المخزن المؤقت الجديد لتخزين إخراج الخلاط. تم إنشاء خرج الخلاط باستخدام وظيفة عرض الصوت. نظرًا لأنني لم أكن أعزف المخزن المؤقت لإدخال الصوت ، فلن يكون هناك صوت خارج التطبيق. أخيرًا ، كان لدي مسجل صوتي في وضع عدم الاتصال.

خطوات

  1. قم بإنشاء جلسة صوتية باستخدام وضع التسجيل والتشغيل
  2. قم بإنشاء رسم بياني صوتي مع خلاط ووحدة إخراج الصوت.
  3. تكوين قنوات الخلاط أو أرقام ناقل الإدخال (عدد تدفقات الصوت).
  4. قم بإنشاء طريقة تشغيل الإدخال مرة أخرى للوحدة الخلاط والوحدة الصوتية.
  5. قم بتكوين تنسيق الصوت المصدر والوجهة إلى حافلات إدخال وحدة الصوت والناتج.
  6. قم بإنشاء ملف صوتي باستخدام تنسيق الوجهة (للتحقق من ترميز AAC للحصول على دعم ترميز AAC).
  7. قم بإحضار ملفات الصوت وتطوير طريقة لإعطاء حزم صوتية لقناة محددة.
  8. في تشغيل الإدخال الصوتي مرة أخرى من الخلاط ، قم بتكوين ملف الصوت.
  9. في تشغيل إدخال الصوت مرة أخرى ، استخدم وظيفة عرض الصوت لجلب إخراج الخلاط في المخازن المؤقتة الصوتية الجديدة. تخزين المخزن المؤقت الصوتي لفتح ملف الصوت.
  10. توقف مؤقتًا باستخدام إيقاف الرسم البياني الصوتي واستئناف التسجيل باستخدام طرق بدء الرسم البياني الصوتي. خلال هذا الفاصل ، قم بتكوين ملف الصوت الجديد جلب.
  11. أخيرًا توقف عن التسجيل وإغلاق ملف الصوت.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top