Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड ओरियो और उससे ऊपर के लिए कस्टम नोटिफिकेशन साउंड कैसे सेट करें?

Android 8.0+ (API 26+) में कस्टम नोटिफिकेशन साउंड

एंड्रॉइड ओरियो से नोटिफिकेशन चैनल में setSound() के साथ AudioAttributes सेट करना आवश्यक है।

चरण 1-3: प्रोजेक्ट, लेआउट, res/raw में साउंड फाइल (पिछले आर्टिकल के समान)

चरण 4: MainActivity.java

package app.tutorialspoint.com.notifyme;

import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.ContentResolver;
import android.content.Context;
import android.graphics.Color;
import android.media.AudioAttributes;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    public static final String NOTIFICATION_CHANNEL_ID = "10001";
    private static final String DEFAULT_CHANNEL_ID = "default";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btnCreateNotification = findViewById(R.id.btnCreateNotification);
        btnCreateNotification.setOnClickListener(v -> {
            Uri sound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" 
                + getPackageName() + "/raw/quite_impressed.mp3");

            NotificationCompat.Builder builder = new NotificationCompat.Builder(this, DEFAULT_CHANNEL_ID)
                .setSmallIcon(R.drawable.ic_launcher_foreground)
                .setContentTitle("कस्टम साउंड टेस्ट")
                .setSound(sound)
                .setContentText("कस्टम नोटिफिकेशन साउंड के साथ")
                .setAutoCancel(true);

            NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                AudioAttributes audioAttributes = new AudioAttributes.Builder()
                    .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                    .setUsage(AudioAttributes.USAGE_NOTIFICATION) // नोटिफिकेशन के लिए USAGE_NOTIFICATION बेहतर
                    .build();

                int importance = NotificationManager.IMPORTANCE_HIGH;
                NotificationChannel channel = new NotificationChannel(
                    NOTIFICATION_CHANNEL_ID, "कस्टम साउंड चैनल", importance);
                channel.enableLights(true);
                channel.setLightColor(Color.BLUE);
                channel.enableVibration(true);
                channel.setSound(sound, audioAttributes); // चैनल लेवल पर साउंड सेट करें

                builder.setChannelId(NOTIFICATION_CHANNEL_ID);
                assert manager != null;
                manager.createNotificationChannel(channel);
            }

            assert manager != null;
            manager.notify((int) System.currentTimeMillis(), builder.build());
        });
    }
}

मुख्य अंतर (Pre-Oreo vs Oreo+)

वर्जनसाउंड सेटिंग
Android 7.1 तकBuilder पर .setSound(uri) सीधे काम करता है
Android 8.0+चैनल पर channel.setSound(uri, audioAttributes) सेट करना जरूरी; Builder का setSound() इग्नोर होता है

AudioAttributes उपयोग

  • CONTENT_TYPE_SONIFICATION - UI साउंड्स के लिए
  • USAGE_NOTIFICATION - नोटिफिकेशन साउंड (डिफ़ॉल्ट वॉल्यूम कंट्रोल से कंट्रोल होता है)
  • USAGE_ALARM - अलार्म (डू नॉट डिस्टर्ब में भी बज सकता है)

साउंड फाइल फॉर्मेट

समर्थित: .mp3, .wav, .ogg। फाइल res/raw/ में रखें।

  1. आईफोन और एंड्रॉइड के लिए टॉप VR गेम्स: इमर्सिव अनुभव आपका इंतजार कर रहे हैं आईफोन और एंड्रॉइड के लिए टॉप VR गेम्स: इमर्सिव अनुभव आपका इंतजार कर रहे हैं

    वर्चुअल रियलिटी या जिसे आमतौर पर VR कहा जाता है, ने एनिमेशन और गेम डिजाइन तकनीकों का रास्ता बदल दिया है। जहां वर्चुअल रियलिटी कई क्षेत्रों में भविष्य की तकनीक का रास्ता बदल रही है, वहीं इसने गेमिंग इंडस्ट्री में आश्चर्यजनक रूप से बेंचमार्क स्थापित किए हैं। पूरी तरह से इमर्सिव अनुभव प्रदान करते हुए,

  1. एंड्रॉइड मार्शमैलो और लॉलीपॉप के लिए टॉप कस्टम ROM: प्रदर्शन, सुरक्षा और दीर्घायु एंड्रॉइड मार्शमैलो और लॉलीपॉप के लिए टॉप कस्टम ROM: प्रदर्शन, सुरक्षा और दीर्घायु

    एक एंड्रॉइड स्मार्टफोन का औसत जीवनकाल 2 साल से अधिक नहीं रहता। दुर्भाग्य से, लेकिन हां, वे किसी न किसी तरह से टूटने लगते हैं। इसका एक कारण फेलिंग ROM को जिम्मेदार ठहराया जा सकता है, जो किसी भी इलेक्ट्रॉनिक डिवाइस का सार है। अनुकूलित ROM के साथ अपने सिस्टम को अपग्रेड करने से आपको अपडेटेड और अनफेलिंग

  1. विंडोज 10/8/7 के लिए टॉप 15 एंड्रॉइड एमुलेटर – स्पीड, कम्पैटिबिलिटी और उपयोग में आसानी विंडोज 10/8/7 के लिए टॉप 15 एंड्रॉइड एमुलेटर – स्पीड, कम्पैटिबिलिटी और उपयोग में आसानी

    जब कोई सॉफ्टवेयर विकसित किया जाता है, तो यह टेस्टिंग के विभिन्न चरणों से गुजरता है। इसी तरह ऐप डेवलपर्स अपने कोड और स्ट्रिंग्स को अंतिम रूप देने से पहले कई रातें जागकर बिताते हैं। इसके लिए एक एंड्रॉइड एमुलेटर की आवश्यकता होती है जहां वे देख सकें कि उनका एप्लिकेशन एंड्रॉइड फोन पर कैसे चलेगा, और यदि क