मैं कंप्यूटर को C # में कैसे बीप कर सकता हूं?


105

मैं बाहरी स्पीकर के बिना C # में कंप्यूटर के आंतरिक स्पीकर को बीप कैसे बना सकता हूं?

जवाबों:


193

.Net 2.0 में, आप Console.Beep () का उपयोग कर सकते हैं।

// Default beep
Console.Beep();

आप मिलीसेकंड में बीप की आवृत्ति और लंबाई भी निर्दिष्ट कर सकते हैं।

// Beep at 5000 Hz for 1 second
Console.Beep(5000, 1000);

अधिक जानकारी के लिए देखें http://msdn.microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx


11
मैंने अभी विन 7 x64 आरसी में परीक्षण किया था, और हालांकि आंतरिक स्पीकर ने बीप नहीं किया था, वक्ताओं के माध्यम से एक बीप था जब मैंने उन्हें प्लग-इन किया था। मुझे लगता है कि यह सिर्फ आंतरिक (मोबो) स्पीकर है जो बीप नहीं करेगा। जानकारी के लिए धन्यवाद @Lck।
a_hardin

22
और यहाँ है क्यों: blogs.msdn.com/larryosterman/archive/2010/01/04/...
माइकल Stum

3
यह x64 पर काम करना चाहिए, लेकिन ध्वनि सामान्य वक्ताओं (जो म्यूट किया जा सकता है) को गर्त में लाएगा। blogs.msdn.com/larryosterman/archive/2010/01/04/…
Tarnay Kálmán

मेरे पास x86 है लेकिन आंतरिक स्पीकर से कोई ध्वनि नहीं बजती है! केवल बाहरी वक्ता! !!!!
रफीक बारी

1
@LorenzCK ... यह 100% सच नहीं है? मेरे पास विन 7 64 है और मैं Beep()बाहरी वक्ताओं के माध्यम से पूरी आवृत्ति सुन पा रहा हूं । हालाँकि, आंतरिक भाग के लिए +1, मुझे ऐसा कभी महसूस नहीं हुआ।
बीके

146

आप अपेक्षाकृत अप्रयुक्त का उपयोग भी कर सकते हैं:

    System.Media.SystemSounds.Beep.Play();
    System.Media.SystemSounds.Asterisk.Play();
    System.Media.SystemSounds.Exclamation.Play();
    System.Media.SystemSounds.Question.Play();
    System.Media.SystemSounds.Hand.Play();

इस ध्वनियों के लिए दस्तावेज़ीकरण http://msdn.microsoft.com/en-us/library/system.media.systemsounds(v=vs.110).aspx में उपलब्ध है


दुर्भाग्य से इन सिस्टम ध्वनियों के लिए बाहरी स्पीकर की आवश्यकता होती है, जिसे हमेशा गिना नहीं जा सकता। यह जानना निश्चित रूप से अच्छा है, हालांकि!
a_hardin 14

1
अब यह जानते हुए कि विंडोज़ के x64 संस्करणों को कंसोल को सुनने के लिए वक्ताओं की आवश्यकता होती है। बीप (), ये विकल्प भी काम करेंगे।
a_hardin

4
लैपटॉप पर मेरे विस्टा x64 इनबिल्ट स्पीकर्स के साथ कंसोल नहीं खेलते हैं। बीप () लेकिन ये ठीक हैं।
एंडी डेंट



7

यह पुष्टि की जाती है कि विंडोज 7 और नए संस्करण (कम से कम 64 बिट या दोनों) सिस्टम स्पीकर का उपयोग नहीं करते हैं और इसके बजाय वे कॉल को डिफ़ॉल्ट साउंड डिवाइस पर रूट करते हैं।

इसलिए, system.beep()win7 / 8/10 का उपयोग करके आंतरिक सिस्टम स्पीकर का उपयोग करके ध्वनि का उत्पादन नहीं किया जाएगा। यदि वे उपलब्ध हैं, तो इसके बजाय, आपको बाहरी स्पीकर से बीप साउंड मिलेगा।


लेकिन इसकी कोई गारंटी नहीं है कि यह साउंड कार्ड के माध्यम से काम करता है / बीप करता है। मेरे विंडोज 10 मशीन पर कोई बीप नहीं है - साउंड कार्ड काम करता है
hfrmobile

4

मैं सिर्फ अपने लिए समाधान खोजते हुए इस सवाल पर आया था। आप कुछ कर्नेल 32 सामान चलाकर सिस्टम बीप फ़ंक्शन को कॉल करने पर विचार कर सकते हैं।

using System.Runtime.InteropServices;
        [DllImport("kernel32.dll")]
        public static extern bool Beep(int freq, int duration);

        public static void TestBeeps()
        {
            Beep(1000, 1600); //low frequency, longer sound
            Beep(2000, 400); //high frequency, short sound
        }

यह वैसा ही है जैसा आप शक्तियां चलाएंगे:

[console]::beep(1000, 1600)
[console]::beep(2000, 400)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.