XP

2012-04-11 12 views
5

पर vb.net सिस्टम बीप ध्वनि पीसी के आंतरिक स्पीकर को एक vb.net प्रोग्राम ध्वनि करना संभव है? आप सी को \a बेल का उत्पादन करते हैं, मैंने beep() का प्रयास किया है, लेकिन यह केवल ध्वनि कार्ड पर त्रुटि ध्वनि उत्पन्न करता है। मैं भीXP

<Runtime.InteropServices.DllImport("KERNEL32.DLL", EntryPoint:="Beep", SetLastError:=True, _ 
CharSet:=Runtime.InteropServices.CharSet.Unicode, ExactSpelling:=True, _ 
CallingConvention:=Runtime.InteropServices.CallingConvention.StdCall)> _ 
Public Shared Function _ 
    aBeep(ByVal dwFreq As Integer, ByVal dwDuration As Integer) _ 
    As Boolean 
End Function 

की कोशिश की है कोई खुशी जाहिरा तौर पर अपने ही ऊपर Vista और पर अच्छा है। कोई सुझाव?

+1

आप सभी नहीं जानते हैं कि के रूप में यह नेट ढांचे का हिस्सा है कंप्यूटर * आपके पास वर्णित एक जैसा हार्डवेयर स्पीकर भी है, है ना? इसलिए इस कार्यक्रम की संभावना बड़ी संख्या में मामलों में अपेक्षित नहीं होगी, खासकर कॉर्पोरेट वातावरण में पाए जाने वाली सस्ते मशीनों के साथ। –

+1

इसके अलावा, यह 64-बिट विंडोज एक्सपी है? क्योंकि आखिरकार मुझे याद है (जब से मैं XP का उपयोग करता हूं, यह लंबे समय से रहा है), ['बीप 'फ़ंक्शन] (http://msdn.microsoft.com/en-us/library/ms679277.aspx) ने बीप को उत्सर्जित किया आंतरिक प्रणाली स्पीकर से, जैसा कि आप वर्णन करते हैं। यह 'संदेशबिप' फ़ंक्शन के विपरीत है, जो संलग्न होने पर ध्वनि कार्ड से बीप होगा। XP और Windows Vista के 64-बिट संस्करण इस व्यवहार को तोड़ने वाले पहले व्यक्ति थे। –

+0

अरे यह मैं 64-बिट संस्करण पर हूं ... अनुमान है कि मेरे उपयोगकर्ता को केवल हेडफ़ोन पहनना होगा ... Ta – Toby

उत्तर

3

वीबीएनईटी में My नेमस्पेस का उपयोग करके, आप My.Computer.Audio से जाकर ऑडियो तक पहुंच प्राप्त कर सकते हैं। इसमें Play विधि है जो कई ओवरलोड के साथ है जो आपको फ़ाइल स्थान द्वारा या बाइट सरणी या स्ट्रीम के रूप में .wav ध्वनि में पास करने की अनुमति देती है, लेकिन इसमें PlaySystemSound विधि भी है जो enum लेती है, जिसमें से एक Beep है। तो इस ध्वनि खेलने के लिए पूरी लाइन है:

My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep) 

कोई गारंटी लेकिन मुझे लगता है XP और Vista पर इस चाहिए काम ...

+0

यह ध्वनि कार्ड पर केवल चेतावनी संदेश "डूप" देता है, धन्यवाद – Toby

+0

मेरे पास नहीं है प्रतिबिंबक की एक प्रति आसान है, लेकिन मैं शर्त लगा सकता हूं कि फ़ंक्शन केवल Win32 'बीप' फ़ंक्शन को लपेटता है, जैसा कि हमने पहले ही चर्चा की है, विंडोज XP के 64-बिट संस्करणों पर काम नहीं करता है। यह भी देखें: http://blogs.msdn.com/b/larryosterman/archive/2010/01/04/what-s-up-with-the-beep-driver-in-windows-7.aspx –

+0

@ कोडीग्रे इसे user32.dll – PhilPursglove

संबंधित मुद्दे