android - एंड्रॉइड पृष्ठभूमि संगीत सेवा




android-service background-music (4)

मैं एंड्रॉइड में एक मनोरंजन ऐप विकसित कर रहा हूं। मैं पृष्ठभूमि संगीत खेलना चाहता हूं, और मैं इसके लिए सेवा का उपयोग करना चाहता हूं। ऐप में 3 गतिविधियां हैं और संगीत सभी गतिविधियों में खेला जाना चाहिए। साथ ही, जब गतिविधि रोका जाता है, तो संगीत को रोकना चाहिए और नष्ट होने पर रोक दिया जाना चाहिए। क्या कोई मुझे बता सकता है कि इसे कैसे करना है ? कोई लिंक या उदाहरण?

धन्यवाद।


@ सिन्क्समैक्स का उत्तर Service और मीडियाप्लेयर क्लास का उपयोग करते समय सही है, हालांकि आपको इसके लिए कार्य करने के लिए मेनिफेस्ट में Service घोषित करने की भी आवश्यकता है, जैसे:

<service
    android:enabled="true"
    android:name="com.package.name.BackgroundSoundService" />

इस विषय के बारे में HelloAndroid पर इस विषय पर एक उत्कृष्ट ट्यूटोरियल है। असल में यह Google पर पहली हिट थी। आपको यहां पूछने से पहले गुगल करने की कोशिश करनी चाहिए, क्योंकि यह अच्छी प्रथा है।


यहां पार्टी के लिए बहुत देर हो चुकी है, लेकिन मैं अभी भी अपना $ 0.02 जोड़ूंगा, Google ने सार्वभौमिक संगीत प्लेयर नामक एक निशुल्क नमूना जारी किया है जिसके साथ आप सभी एंड्रॉइड प्लेटफार्मों (ऑटो, घड़ी, मोबाइल, टीवी ..) में संगीत स्ट्रीम करना सीख सकते हैं। पृष्ठभूमि में संगीत चलाने के लिए सेवा, इसे बहुत उपयोगी जांचें। यहां परियोजना का लिंक है
https://github.com/googlesamples/android-UniversalMusicPlayer


START_STICKY ध्वज के साथ एक अग्रभूमि सेवा बनाएं।

@Override
public int onStartCommand(Intent startIntent, int flags, int startId) {
   if (startIntent != null) {
       String action = startIntent.getAction();
       String command = startIntent.getStringExtra(CMD_NAME);
       if (ACTION_CMD.equals(action)) {
           if (CMD_PAUSE.equals(command)) {
               if (mPlayback != null && mPlayback.isPlaying()) {
                   handlePauseRequest();
               }
           } else if (CMD_PLAY.equals(command)) {
               ArrayList<Track> queue = new ArrayList<>();
               for (Parcelable input : startIntent.getParcelableArrayListExtra(ARG_QUEUE)) {
                   queue.add((Track) Parcels.unwrap(input));
               }
               int index = startIntent.getIntExtra(ARG_INDEX, 0);
               playWithQueue(queue, index);
           }
       }
   }

   return START_STICKY;
}

इसे किसी संगीत से कुछ संगीत चलाने के लिए बुलाया जा सकता है

Intent intent = new Intent(MusicService.ACTION_CMD, fileUrlToPlay, activity, MusicService::class.java)
intent.putParcelableArrayListExtra(MusicService.ARG_QUEUE, tracks)
intent.putExtra(MusicService.ARG_INDEX, position)
intent.putExtra(MusicService.CMD_NAME, MusicService.CMD_PLAY)
activity.startService(intent)

आप bindService का उपयोग करके सेवा से bindService और सेवा को रोकथाम / संबंधित गतिविधि जीवन चक्र विधियों से रोक सकते हैं।

Android पर पृष्ठभूमि में संगीत बजाने के बारे में यहां एक अच्छा ट्यूटोरियल है





android-music-player