2011-03-04 14 views
10

मेरे पास WinForms ऐप है। इस ऐप में एक प्राथमिकता अनुभाग है जहां उपयोगकर्ता यह चुनने में सक्षम होगा कि एक चेतावनी प्रदर्शित होने पर कौन सी आवाज़ें बजायी जाती हैं।विंडोज से ध्वनि चुनना और उन्हें खेलना

क्या यह एक combobox होना संभव है जहां उपयोगकर्ता विंडोज संग्रहित ध्वनियों जैसे "महत्वपूर्ण रोक", "महत्वपूर्ण बीप" और अन्य चुनौतियों से चुन सकता है। ये "नियंत्रण कक्ष" >> "ध्वनि और अलर्ट" अनुभाग में पाए जाते हैं।

क्या ध्वनि के परीक्षण के लिए प्ले बटन भी संभव है?

+0

ध्वनियों के सेट एक्स्टेंसिबल कर रहे हैं, हो सकता है आप विजुअल स्टूडियो बिल्ड ध्वनियों को देखा? Superuser.com पर पूछें जहां वे रजिस्ट्री में संग्रहीत हैं। विंडोज के मानक भागों को फिर से डिजाइन करने से बचने का प्रयास करें। –

उत्तर

10

आज़माएं:

private void Form1_Load(object sender, EventArgs e) 
    { 

     var systemSounds = new[] 
           { 
            System.Media.SystemSounds.Asterisk, 
            System.Media.SystemSounds.Beep, 
            System.Media.SystemSounds.Exclamation, 
            System.Media.SystemSounds.Hand, 
            System.Media.SystemSounds.Question 
           }; 

     comboBox1.DataSource = systemSounds; 

     comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged); 
    } 

    void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     ((System.Media.SystemSound)comboBox1.SelectedItem).Play(); 
    } 
11

आप प्रणाली खेलने के लिए किसी भी एपीआई की आवश्यकता नहीं है लगता है सिर्फ इस तरह कोड लिखने:

// Plays the sound associated with the Asterisk system event. 
System.Media.SystemSounds.Asterisk.Play(); 

SystemSounds वर्ग शामिल निम्नलिखित पूर्वनिर्धारित प्रणाली लगता है:

  • तारांकन
  • बीप
  • विस्मयादिबोधक
  • हाथ
  • प्रश्न

अन्य सभी ध्वनियों आप रजिस्ट्री से वांछित ध्वनि पढ़ सकते हैं और इस तरह से कोड के साथ खेलने की आवश्यकता होती है:

SoundPlayer simpleSound = new SoundPlayer(@"c:\Path\To\Your\Wave\File.wav"); 
8

ज़रूर! आप जो भी आवाज़ खोज रहे हैं वह System.Media.SystemSounds class के माध्यम से उपलब्ध है, जहां उन्हें public properties के रूप में उजागर किया गया है जो ध्वनि प्रकार को ट्रिगर करने वाले ईवेंट प्रकारों के अनुरूप हैं।

इसके अतिरिक्त, SystemSound class की ऑब्जेक्ट्स Play method प्रदान करती हैं कि आप उस ध्वनि को असीमित रूप से चलाने के लिए कॉल कर सकते हैं।

उदाहरण के लिए, "क्रिटिकल बंद करो" ध्वनि खेलने के लिए, आप बस निम्नलिखित कोड लिखने होगा:

System.Media.SystemSounds.Hand.Play(); 
संबंधित मुद्दे