2011-02-26 10 views
7

मेरे एंड्रॉइड एप्लिकेशन में, मैं मीडियाप्लेयर क्लास का उपयोग कर विभिन्न एमपी 3 फाइलें चला रहा हूं।एंड्रॉइड एप्लिकेशन किसी अन्य संगीत प्लेयर ऐप के संगीत को रोकने/फिर से शुरू करने के लिए

उपयोगकर्ता डिफ़ॉल्ट संगीत एप्लिकेशन के साथ अपना स्वयं का संगीत चला रहा है।

मैं चाहता हूँ करने के लिए:

  1. रोकें डिफ़ॉल्ट संगीत आवेदन के संगीत।
  2. मेरे आवेदन से संगीत बजाना शुरू करें।
  3. जब मेरा संगीत खेल रहा है, तो मेरा ऐप उपयोगकर्ता के डिफ़ॉल्ट संगीत को फिर से शुरू करेगा।

मैं अपने आवेदन से डिफ़ॉल्ट संगीत प्लेयर के संगीत को रोकना और फिर से शुरू करना चाहता हूं।

यह यह करने के लिए संभव है?

+0

http://stackoverflow.com/a/37374679/2254969 का संदर्भ लें। यहां पोस्ट किए गए उत्तर अब पुराने हैं। –

उत्तर

6

निम्नलिखित कोड एक प्रसारण भेजने के द्वारा एक डिफ़ॉल्ट MediaPlayer रुकेगा:

AudioManager mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);  

if (mAudioManager.isMusicActive()) { 

    Intent i = new Intent("com.android.music.musicservicecommand"); 

    i.putExtra("command", "pause"); 
    YourApplicationClass.this.sendBroadcast(i); 
} 
+0

मैंने एक एप्लिकेशन में एक एमपी 3 फ़ाइल खेला, और दूसरे एप्लिकेशन में मैंने यह कोड लिखा था। लेकिन यह काम नहीं कर रहा है। क्या कोई अनुमति आवश्यक है? या यह केवल एक आवेदन के अंदर काम करता है? – MobiDev

+0

यह केवल Play संगीत के लिए काम कर रहा है। क्या कोई अन्य तरीका है जो सभी संगीत ऐप के लिए काम करेगा? @Mcingwe –

2
// pause 
Intent i = new Intent("com.android.music.musicservicecommand"); 
i.putExtra("command", "pause"); 
sendBroadcast(i); 

// play 
Intent i = new Intent("com.android.music.musicservicecommand"); 
i.putExtra("command", "play"); 
sendBroadcast(i); 

// next 
Intent i = new Intent("com.android.music.musicservicecommand"); 
i.putExtra("command", "next"); 
sendBroadcast(i); 

// previous 
Intent i = new Intent("com.android.music.musicservicecommand"); 
i.putExtra("command", "previous"); 
sendBroadcast(i); 

उपलब्ध आदेशों के बारे में कुछ और जानकारी:

public static final String SERVICECMD = "com.android.music.musicservicecommand"; 
public static final String CMDNAME = "command"; 
public static final String CMDTOGGLEPAUSE = "togglepause"; 
public static final String CMDSTOP = "stop"; 
public static final String CMDPAUSE = "pause"; 
public static final String CMDPLAY = "play"; 
public static final String CMDPREVIOUS = "previous"; 
public static final String CMDNEXT = "next"; 
1

वर्तमान में संगीत इस कोड का उपयोग खेल रहा नियंत्रित करने के लिए ।

AudioManager mAudioManager = (AudioManager) c.getSystemService(Context.AUDIO_SERVICE); 

if(mode == Config.MUSIC_NEXT) { 
       KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_NEXT); 
       mAudioManager.dispatchMediaKeyEvent(event); 
      }else if(mode == Config.MUSIC_PLAY){ 
       KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY); 
       mAudioManager.dispatchMediaKeyEvent(event); 
      } 
      else if(mode == Config.MUSIC_PREV){ 
       KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PREVIOUS); 
       mAudioManager.dispatchMediaKeyEvent(event); 
      } 

वास्तव में यह केवल कोड है कि सभी संगीत क्षुधा मैं प्रयोग किया जाता के लिए काम कर रहा है।

  • Google Play संगीत के साथ चेक किया गया।
  • एप्पल संगीत
  • OnePlus संगीत एप्लिकेशन
संबंधित मुद्दे