سؤال

لا أحد يعرف كيفية برمجيا التقاط الصوت التي يتم لعب (أي أن كل ما هو قادم من بطاقة الصوت ، وليس أجهزة الإدخال مثل ميكروفون).

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

المحلول

وعلى افتراض أن كنت تتحدث عن ويندوز، وهناك أساسا ثلاث طرق للقيام بذلك.

والأول هو لفتح الناتج الرئيسي جهاز الصوت كمصدر التسجيل. وهذا ممكن فقط عندما يدعم السائق ذلك، رغم أن معظم تفعل في هذه الأيام. الأسماء الشائعة للجهاز الظاهري هي "ما تسمع" أو "الموجة خارج". سوف تحتاج إلى استخدام API مناسبة (انظر WaveIn أو دايركت في MSDN) للقيام اسر.

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

وهذا يعني أن أيا من هذه الخيارات سوف تكون مضمونة للعمل على جهاز كمبيوتر مع الأجهزة التعسفي.

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

وجميع هذه التقنيات لديها مزاياها وعيوبها - والامر متروك لكم لاتخاذ قرار من شأنه أن يكون أكثر ملاءمة لاحتياجاتك

.

نصائح أخرى

يمكنك استخدام الموجي واجهة الصوت ، هناك المقالة MSDN على كيفية الوصول إليه في PInvoke.

من أجل التقاط الصوت التي يتم لعب, تحتاج فقط لفتح الجهاز التشغيل بدلا من الميكروفون.فتح الإدخال ، بالطبع ، ليس من أجل إخراج ;-)

إذا كنت تستخدم OSX، الصوت الإختطاف برو من روغ الأميبا ربما هو أسهل طريقة للذهاب.

وعلى أي حال، لماذا لا مجرد حلقات الصوت مرة أخرى إلى الخط الخاص بك في وتسجيل ذلك؟ هذا هو جدا حل بسيط. مجرد سد كابل في الخاص جاك إخراج الصوت والخط الخاص بك في جاك والبدء recordung.

لديك لتمكين مزيج ستيريو الجهاز. إذا قمت بذلك، والصوت المباشر العثور على هذا الجهاز.

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