android - एंड्रॉइड अधिसूचना ध्वनि कैसे खेलें




audio notifications (6)

अगर कोई अभी भी इसका समाधान ढूंढ रहा है, तो मुझे एंड्रॉइड में रिंगटोन / अलार्म ध्वनि कैसे खेलें , इसका उत्तर मिला

try {
    Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
    r.play();
} catch (Exception e) {
    e.printStackTrace();
}

आप TYPE_NOTIFICATION को TYPE_ALARM में बदल सकते हैं, लेकिन आप इसे चलाने से रोकने के लिए अपने रिंगटोन आर का ट्रैक रखना चाहेंगे ... कहें, जब उपयोगकर्ता बटन या कुछ क्लिक करता है।

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

MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(notificationsPath+ (String) apptSounds.getSelectedItem());
mp.prepare();
mp.start();

आप जो अधिसूचना चाहते हैं उसे प्रदर्शित करने के लिए Notification और NotificationManager Notification उपयोग कर सकते हैं। फिर आप उस ध्वनि को कस्टमाइज़ कर सकते हैं जिसे आप अपनी अधिसूचना के साथ खेलना चाहते हैं।


ध्वनि को अलग से कॉल करने के बजाय अधिसूचना बनाते समय आप ध्वनि को शामिल करके ऐसा कर सकते हैं।

//Define Notification Manager
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

//Define sound URI
Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext())
        .setSmallIcon(icon)
        .setContentTitle(title)
        .setContentText(message)
        .setSound(soundUri); //This sets the sound to play

//Display notification
notificationManager.notify(0, mBuilder.build());

मुझे लगता है कि "अधिसूचना ध्वनि" की अवधारणा एंड्रॉइड यूआई के लिए कुछ गलत है।

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

अधिसूचना पर ध्वनि कैसे सेट करें, उदाहरण के लिए, यहां: अधिसूचना के लिए ध्वनि सेट करना


यदि आप एक डिफ़ॉल्ट अधिसूचना ध्वनि setDefaults(int) लिए चाहते हैं, तो आप NotificationCompat.Builder setDefaults(int) विधि का उपयोग कर सकते हैं। setDefaults(int) वर्ग:

NotificationCompat.Builder mBuilder =
        new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.ic_notification)
                .setContentTitle(getString(R.string.app_name))
                .setContentText(someText)
                .setDefaults(Notification.DEFAULT_SOUND)
                .setAutoCancel(true);

मेरा मानना ​​है कि यह आपके काम को पूरा करने का सबसे आसान तरीका है।


यह आपके प्रश्न के बाद से कुछ समय हो गया है, लेकिन ... क्या आपने ऑडियो स्ट्रीम प्रकार को सेट करने का प्रयास किया है?

mp.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);

इसे तैयार करने से पहले किया जाना चाहिए।





notifications