1。
メディアボタンをトリガーしてプレーヤーの状態を操作します: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); Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON); intent.putExtra(Intent.EXTRA_KEY_EVENT、keyEvent); context.sendOrderedBroadcast(intent、null); keyEvent = new KeyEvent(KeyEvent.ACTION_UP、keyCode); intent = new Intent(Intent.ACTION_MEDIA_BUTTON); intent.putExtra(Intent.EXTRA_KEY_EVENT、keyEvent); context.sendOrderedBroadcast(intent、null); } }
2. AudioManagerを介してオーディオフォーカスAudioFocusを取得し、オーディオを使用してサウンドの再生を停止または低下させます
。AudioManageram =(AudioManager)mAppContext.getSystemService(Context.AUDIO_SERVICE);
am.requestAudioFocus(null、AudioManager.STREAM_MUSIC、AudioManager.AUDIOFOCUS_GAIN_TRANSIENT) ;
AudioManager.AUDIOFOCUS_GAIN:。。。獲得のメディアは永久に(プレイ音楽を)集中することは、音楽プレーヤーは、このメソッドを使用していると推定されたそれは、ビデオの再生中に呼び出されると仕事をしませんされて
AudioManager.AUDIOFOCUS_GAIN_TRANSIENTが一時的にフォーカスを取得は短命オーディオに適しています
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCKアプリケーションがフォーカスを共有すると、他のオーディオが再生時に音量を下げます