واجهة برمجة تطبيقات بسيطة لإدخال الصوت على جهاز Mac؟

StackOverflow https://stackoverflow.com/questions/37529

  •  09-06-2019
  •  | 
  •  

سؤال

أرغب في سحب مجموعة من عينات PCM من الميكروفون المدمج أو المدمج في جهاز Mac وإجراء القليل من التحليل المباشر (الطبيعة الدقيقة لا تتعلق بهذا السؤال، ولكنها قد تكون تحويل فوري سريع (FFT) بين الحين والآخر، أو بعض الإحصائيات الأساسية عن مستويات العينة، أو ما لديك).

ما هو مناسب لهذا؟هل تريد كتابة وحدة صوتية تقوم فقط بتمرير الصوت من خلاله وتسليمه بالمصادفة إلى مكان ما لتحليله؟هل تريد كتابة تطبيق مدرك لـ JACK ومعرفة كيفية تشغيله مع خادم JACK؟إكاسوند؟

هذا مشروع هواية مبتذل لإثبات المفهوم، لذا فإن بساطة واجهة برمجة التطبيقات (API) هي العامل الدافع (يليها اختيار معقول للغة البرمجة).

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

المحلول

أظن com.portaudio هو ما تحتاجه.القراءة من الميكروفون من تطبيق وحدة التحكم عبارة عن ملف مكون من 10 أسطر C (راجع patests في توزيع portaudio).

نصائح أخرى

الإطار الأساسي لتطوير الصوت في نظام التشغيل Mac OS X هو Core Audio؛إنه الأساس لجميع عمليات الإدخال/الإخراج الصوتية.توجد طبقات فوقه مثل Audio Toolbox، وAudio Queue Services، وQuickTime، وQTKit التي يمكنك استخدامها إذا كنت تريد واجهة برمجة تطبيقات مبسطة للمهام الشائعة.

لسحب مجموعة من العينات فقط، قد ترغب في استخدامها خدمات قائمة الانتظار الصوتية;ال AudioQueueNewInput ستقوم الوظيفة بإعداد تسجيل بيانات PCM وتمريرها إلى رد الاتصال الذي تقدمه.

توجد على جهاز Mac الخاص بك مجموعة من أمثلة Core Audio /Developer/Examples/CoreAudio/SimpleSDK يتضمن استخدام (AQRecord في AudioQueueTools) لواجهات برمجة التطبيقات لتسجيل خدمات قائمة الانتظار الصوتية.

توفر Apple نموذجًا للتعليمات البرمجية لـ قراءة وكتابة البيانات الصوتية.بالإضافة إلى ذلك هناك الكثير من المعلومات الجيدة في قسم الصوت في موقع Apple Developer.

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