2012-04-26 14 views
16

मैं केवल एक अधिसूचना ध्वनि कैसे चला सकता हूं (स्टेटस बार अधिसूचना को फायर किए बिना)? मैं अधिसूचना डिफ़ॉल्ट ध्वनि चाहता हूं और इसे अधिसूचना ध्वनि के रूप में बिल्कुल खेलता हूं। क्या MediaPlayer का उपयोग करके इसे हासिल करना संभव है?केवल सूचना अधिसूचना डिफ़ॉल्ट ध्वनि (एंड्रॉइड)

+0

आप एक मीडियाप्लेयर के साथ यह कर सकता है अगर आप सिर्फ ध्वनि फ़ाइल पाते हैं। आप एंड्रॉइड स्रोतों के भीतर कहीं भी डिफ़ॉल्ट ध्वनि खोजने में सक्षम होना चाहिए। अधिसूचना-वर्ग और [यह] देखें (http://stackoverflow.com/questions/4441334/how-to-play-an-android-notification-sound) प्रश्न। – keyser

उत्तर

27
Uri defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 

MediaPlayer mediaPlayer = new MediaPlayer(); 

try { 
     mediaPlayer.setDataSource(context, defaultRingtoneUri); 
     mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); 
     mediaPlayer.prepare(); 
     mediaPlayer.setOnCompletionListener(new OnCompletionListener() { 

     @Override 
     public void onCompletion(MediaPlayer mp) 
     { 
      mp.release(); 
     } 
     }); 
    mediaPlayer.start(); 
} catch (IllegalArgumentException e) { 
e.printStackTrace(); 
} catch (SecurityException e) { 
e.printStackTrace(); 
} catch (IllegalStateException e) { 
e.printStackTrace(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
+1

अधिक जानकारी: http://developer.android.com/guide/topics/media/mediaplayer.html – Lobo

5
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
Ringtone r = RingtoneManager.getRingtone(context.getApplicationContext(), notification); 
r.play(); 
संबंधित मुद्दे