AndroidはAudioManagerを使用して、バックグラウンドミュージックプレーヤーの一時停止と再生を制御します

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アプリケーションがフォーカスを共有すると、他のオーディオが再生時に音量を下げます

おすすめ

転載: blog.csdn.net/xifei66/article/details/73650454