2011-01-31 6 views
18

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

उत्तर

20

आप के साथ डिफ़ॉल्ट रिंगटोन खेल सकते हैं:

MediaPlayer player = MediaPlayer.create(this, 
    Settings.System.DEFAULT_RINGTONE_URI); 
player.start(); 

आप DEFAULT_NOTIFICATION_URI या DEFAULT_ALARM_ALERT_URI विभिन्न अन्य डिफ़ॉल्ट ध्वनियों के लिए साथ DEFAULT_RINGTONE_URI बदल सकते हैं।

+1

android.provider.Settings.System – usman

+1

अधिक पूर्ण नमूना withh यहाँ से निपटने त्रुटि http://stackoverflow.com/questions/10335057/play-notification-default-sound-only-android –

1

1- राज्य बनाने पर सहायता यह है कि हमें निर्माण के बाद तैयार नहीं करना चाहिए, इसलिए मैंने तैयार कोड लाइन हटा दी।

2- यह डिवाइस पर ठीक काम करता है लेकिन यह एमुलेटर पर दुर्घटनाग्रस्त हो रहा है ???

3- अलार्म, अधिसूचना और रिंगटोन की तुलना में कोई अन्य ध्वनि ??

+0

मैं player.prepare हटाया () मेरे उत्तर से लाइन के रूप में मैंने दस्तावेज की दोबारा जांच की और आप सही थे। मुझे यकीन नहीं है कि यह एमुलेटर को क्यों दुर्घटनाग्रस्त कर रहा है, हो सकता है कि इसमें कोई ध्वनि फाइलें न हों? क्या आप त्रुटि/क्रैश के 'logcat' आउटपुट प्रदान कर सकते हैं? मुझे विश्वास नहीं है कि प्रदान की गई 3 के अलावा कोई अन्य डिफ़ॉल्ट सिस्टम लगता है। –

+0

आप राइट हैं। एमुलेटर पर, जब हम सेटिंग्स में जाते हैं तो चुनने के लिए कोई आवाज उपलब्ध नहीं होती है -> ध्वनि -> अधिसूचना रिंगटोन –

8

यहां एक बीप उत्पन्न करने का एक तरीका है।

विस्तार .rtttl के साथ एक कच्चे resouce फ़ाइल बनाएँ और डाल "सी 5: d = 4, ओ = 5, बी = 250: सी 5":

उस में (उद्धरण चिह्नों के)

तो इस कोड को जोड़ना

protected MediaPlayer _mediaPlayer; 

public void playFromResource(int resId) 
    { 
    if (_mediaPlayer != null) 
     { 
     // _mediaPlayer.stop();  freeze on some emulator snapshot 
     // _mediaPlayer.release(); 
     _mediaPlayer.reset();  // reset stops and release on any state of the player 
     } 
    _mediaPlayer = MediaPlayer.create(this, resId); 
    _mediaPlayer.start(); 
    } 

फिर playFromResource पर कॉल करें और यदि आपके कच्चे rtttl संसाधन को संसाधन आईडी पास करें।

+1

आरटीटीटीएल पर मुझे सूचित करने के लिए धन्यवाद! :-) – Abbafei

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

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