هل من الممكن ربط نفس جهاز الصوت في واجهات برمجة التطبيقات المختلفة؟

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

  •  20-09-2019
  •  | 
  •  

سؤال

أنا أستخدم واجهة برمجة تطبيقات WinMM للتعامل مع الصوت. أنا استخدم waveInGetDeviceCaps و waveInMessage لتحديد "خط الصوت" بشكل فريد. كل شيء يعمل بشكل جيد ، إلا أنه في Vista ، يتم توج اسم الجهاز في 32 Chars بواسطة WaveInCaps بنية.

للتغلب على ذلك ، أتصور باستخدام واجهة برمجة التطبيقات الأساسية عندما يكون إصدار OS> = Vista. أنا أستخدم IMMDeviceEnumerator.GetDevice و IMMDeviceEnumerator.EnumAudioEndpoints لجمع معلومات خط الصوت ، لكنني لست متأكدًا من كيفية معرفة أن جهازًا واحدًا تحت API Core يتعلق بإدخال واحد تحت واجهة برمجة تطبيقات Wavexx.

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

ماذا تقول؟

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

المحلول

تم وصف هذا السيناريو في http://msdn.microsoft.com/en-us/library/dd370819(vs.85).aspx

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