2012-11-07 14 views
9

के साथ इवेंट हेडफ़ोन जैक (विंडोज एक्सपी) रियलटेक ALC888 पर डाला गया/हटाए गए ईवेंट हेडफ़ोन जैक का पता लगाने के लिए कैसे?रीयलटेक ALC888

क्या कोई एसडीके या lib है?

वैश्विक प्रश्न: Windows XP के तहत इस ईवेंट को कैसे पहचानें? वैश्विक उत्तर: सार्वभौमिक समाधान मौजूद नहीं है। लेकिन, रियलटेक ऑडियो पता है। कैसे?

उत्तर

3

Windows XP पर एक विरासत समारोह

waveInGetNumDevs(void) 

कि 0 लौटना चाहिए जब तक कि एक हेड फोन्स जैक प्लग किया गया है नहीं है। वैसे भी सही व्यवहार वास्तविक हार्डवेयर ड्राइवर पर निर्भर करता है। यह भी देखें: http://msdn.microsoft.com/en-us/library/ms713732%28VS.85%29.aspx

कुछ ध्वनि कार्ड हैं जहां यह काम नहीं करेगा, लेकिन यदि चालक एक उपयोगिता के साथ आता है जो हेडफोन जैक में कुछ प्लग इन होता है (यानी कुछ कार्ड्स हेडफोन/माइक के लिए साझा जैक होता है और यदि आप कोई डिवाइस डालते हैं, तो यह आपको पूछता है कि आपने किस प्रकार का डिवाइस अभी प्लग इन किया है) - आप अपना खुद का 'डिटेक्शन एप्लिकेशन', लिख सकते हैं जो किसी भी तरह से रिपोर्ट करता है (यानी सॉकेट, पाइप, साझा मेमोरी) अगर कुछ प्लग इन किया गया हो आपका मुख्य आवेदन आमतौर पर ड्राइवर स्थापित निर्देशिका में एक exe फ़ाइल है - आप इसे आसानी से बदल सकते हैं, अपने 'पहचान अनुप्रयोग' के साथ जो शुरू होता है अगर कुछ इस तरह से स्वचालित रूप से प्लग किया गया था।

मुझे डर है कि इन दो 'समाधान' (या दूसरे के लिए बेहतर कामकाज) के अलावा, विंडोज एक्सपी पर यह पता लगाने का कोई तरीका नहीं है कि डिवाइस को हेडफोन जैक में प्लग किया गया था या नहीं। विंडोज विस्टा और नए हालांकि, इन घटनाओं के लिए IKsJackDescription नामक एक नया इंटरफ़ेस है।

1

इसके अलावा एक WM_DEVICECHANG निकाल दिया जा सकता है।