2010-08-17 11 views
74

में ध्वनि कैसे खेलें मेरे पास सी #/.NET में एक विंडोज़ एप्लीकेशन लिखा गया है।सी #, .NET

बटन क्लिक होने पर मैं एक विशिष्ट ध्वनि कैसे चला सकता हूं?

+4

WinForms या WPF? – Richard

उत्तर

157

का उपयोग कर आप इस्तेमाल कर सकते हैं जैसे अन्य विकल्प हैं:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav"); 
player.Play(); 
+19

यह एकदम सही उत्तर है क्योंकि एक नया उपयोगकर्ता यह समझ सकता है कि SoundPlayer System.Media से संबंधित है .... –

+1

@ for? –

+16

@Ali ... http://stackoverflow.com/questions/2361857/what-does-means-in-c-sharp "इसका अर्थ है निम्नलिखित स्ट्रिंग को शाब्दिक के रूप में समझना। मतलब, स्ट्रिंग में \ वास्तव में होगा आउटपुट में "\" "शाब्दिक चरित्र" – Praveen

28

Windows के लिए एक ही रास्ता फॉर्म्स SoundPlayer

private void Button_Click(object sender, EventArgs e) 
{ 
    using (var soundPlayer = new SoundPlayer(@"c:\Windows\Media\chimes.wav")) { 
     soundPlayer.Play(); // can also use soundPlayer.PlaySync() 
    } 
} 

MSDN page

यह भी WPF के साथ काम करेंगे उपयोग करने के लिए है, लेकिन आप MediaPlayerMSDN page

+1

शायद 'उपयोग' कथन में लपेटा जाना चाहिए क्योंकि यह 'घटक' – cjk

+0

@ck से प्राप्त होता है - मैं केवल मूल बातें दिखा रहा था, लेकिन हाँ उत्पादन कोड में इसे 'उपयोग' में लपेटता है। – ChrisF

+1

उत्पादन कोड में भी बेहतर, इसे केवल एक बार बनाएं और बटन दबाए जाने पर इसे बनाने के बजाय इसे कई बार उपयोग करें। – Shibumi

63

आप SystemSound का उपयोग कर सकते हैं, उदाहरण के लिए, System.Media.SystemSounds.Asterisk.Play();

+4

+1 कूल प्रारूप के लिए प्रतिबंधित है, मुझे पता नहीं था कि 'SystemColors' के समान अंतर्निहित उदाहरणों का उपयोग करने के लिए –

+0

+1। – Shibumi

+0

बहुत उपयोगी है। यह सिस्टम डिफ़ॉल्ट का उपयोग करने में मदद कर सकता है। –

7

अतिरिक्त जानकारी से अनुमति देता है।

यह उन अनुप्रयोगों के लिए थोड़ा उच्च स्तर का उत्तर है जो विंडोज वातावरण में सहजता से फिट होना चाहते हैं। विशेष ध्वनि खेलने के तकनीकी विवरण अन्य उत्तरों में प्रदान किए गए थे। कि इसके अलावा, हमेशा इन दो अंक ध्यान दें:

  1. उपयोग पाँच मानक प्रणाली, विशिष्ट परिदृश्यों में लगता है यानी

    • तारांकन - जब आप वर्तमान घटना को हाइलाइट करना चाहते खेलने

    • प्रश्न - प्रश्नों के साथ खेलो (सिस्टम संदेश बॉक्स विंडो यह एक खेलता है)

    • विस्मयादिबोधक - excalamation आइकन (प्रणाली संदेश बॉक्स खिड़की यह एक खेलता है)

    • बीप (डिफ़ॉल्ट प्रणाली ध्वनि) के साथ खेलते हैं

    • महत्वपूर्ण पड़ाव ("हाथ") - त्रुटि के साथ खेलें (सिस्टम संदेश बॉक्स विंडो यह एक खेलता है)

    कक्षा System.Media.SystemSounds के तरीके उन्हें आपके लिए खेलेंगे।

  2. में ध्वनि नियंत्रण कक्ष अपने उपयोगकर्ताओं द्वारा अनुकूलन के रूप में किसी भी अन्य ध्वनियों को लागू

    • इस तरह उपयोगकर्ताओं को आसानी से बदल सकते हैं या अपने आवेदन की आवाजों को हटा दें और आप किसी भी लिखने की जरूरत नहीं है सकते हैं इसके लिए उपयोगकर्ता इंटरफ़ेस - यह पहले से ही
    • प्रत्येक उपयोगकर्ता प्रोफ़ाइल इन ध्वनियों को अपने तरीके से ओवरराइड कर सकती है
    • कैसे करें:
      • Create sound profile of your application in the Windows Registry (संकेत: प्रोग्रामिंग की कोई जरूरत नहीं है, बस अपने आवेदन के संस्थापक में कुंजी जोड़ें।)
      • अपने आवेदन में, अपने रजिस्ट्री कुंजियों से ध्वनि फ़ाइल पथ या DLL संसाधन पढ़ सकते हैं और यह खेलते हैं। (खेलने के लिए कैसे लगता है आप अन्य उत्तर में देख सकते हैं।)
2

इस प्रकार के सरल उदाहरण जाँच करें सी # का उपयोग कर विंडोज रूप में एक ऑडियो फ़ाइल को चलाने के लिए:

1.Go विजुअल स्टूडियो (वीएस -2008/2010/2012) -> फ़ाइल मेनू -> नई परियोजना पर क्लिक करें।

2. नई परियोजना में -> विंडोज फॉर्म एप्लिकेशन पर क्लिक करें -> नाम दें और फिर ठीक क्लिक करें।

एक नया "विंडोज फॉर्म" प्रोजेक्ट खुल जाएगा।

3. टूलबॉक्स से विंडोज फॉर्म में एक बटन नियंत्रण ड्रैग-एंड-ड्रॉप करें।

4. स्वचालित रूप से डिफ़ॉल्ट क्लिक ईवेंट हैंडलर बनाने के लिए बटन को डबल-क्लिक करें, और निम्न कोड जोड़ें।

यह कोड फ़ाइल ओपन डायलॉग बॉक्स प्रदर्शित करता है और परिणाम को "playSound" नामक विधि में पास करता है जिसे आप अगले चरण में बनाएंगे।

OpenFileDialog dialog = new OpenFileDialog(); 
dialog.Filter = "Audio Files (.wav)|*.wav"; 


if(dialog.ShowDialog() == DialogResult.OK) 
{ 
    string path = dialog.FileName; 
    playSound(path); 
} 

5. बटन 1_Click ईवेंट हैंडर के तहत निम्न विधि कोड जोड़ें।

private void playSound(string path) 
{ 
    System.Media.SoundPlayer player = new System.Media.SoundPlayer(); 
    player.SoundLocation = path; 
    player.Load(); 
    player.Play(); 
} 

6. अब कोड चलाने के लिए F5 दबाकर एप्लिकेशन को चलाएं।

7. बटन क्लिक करें और एक ऑडियो फ़ाइल का चयन करें। फ़ाइल लोड होने के बाद, ध्वनि खेलेंगे।

मुझे उम्मीद है कि यह शुरुआती लोगों के लिए उपयोगी उदाहरण है ...