1.
Opere el estado del reproductor activando el botón multimedia: KeyEvent.KEYCODE_MEDIA_PAUSE
public static void sendMediaButton (Context context, int keyCode) { AudioManager audioManager = (AudioManager) context.getSystemService (Context.AUDIO_SERVICE); // 先 判断 后台 是否 再 播放 音乐 if (audioManager.isMusicActive ()) { KeyEvent keyEvent = new KeyEvent (KeyEvent.ACTION_DOWN, keyCode); Intención Intención = nueva Intención (Intent.ACTION_MEDIA_BUTTON); intent.putExtra (Intent.EXTRA_KEY_EVENT, keyEvent); context.sendOrderedBroadcast (intención, nulo); keyEvent = nuevo KeyEvent (KeyEvent.ACTION_UP, keyCode); intent = new Intent (Intent.ACTION_MEDIA_BUTTON); intent.putExtra (Intent.EXTRA_KEY_EVENT, keyEvent); context.sendOrderedBroadcast (intención, nulo); } }
2. Obtenga el enfoque de audio AudioFocus a través de AudioManager para competir por usar el audio para detener la reproducción o bajar el sonido.
AudioManager am = (AudioManager) mAppContext.getSystemService (Context.AUDIO_SERVICE);
am.requestAudioFocus (null, AudioManager.STREAM_MUSIC, AudioManager.AUDIO_FTROCUS_) ;
AudioManager.AUDIOFOCUS_GAIN: Adquirir el enfoque multimedia de forma permanente (reproducir música). Se estima que el reproductor de música utiliza este método. Se llama durante la reproducción de video y no funciona.
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT Obtiene temporalmente el enfoque es adecuado para audio de corta duración.
AudioManager.AUDIOFOCUS_DUCKAY_TRANSIENT_Muestra aplicación Cuando la aplicación comparte el foco, otro audio bajará el volumen cuando jugamos