2011-10-06 13 views
2

林不工作,當我使用此代碼爲什麼abandonAudioFocus使用此代碼來獲得AudioFocus中的Android音樂應用

釋放它,它工作正常與
的Android音樂應用程序(一個預裝)

int result = audioManager.requestAudioFocus(meService, AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);  

然而

audioManager.abandonAudioFocus(meService); 

Android音樂應用程序(預安裝的)不會繼續播放。

如果我使用AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK它的工作
但Android音樂應用程序沒有足夠的降低音量。

任何ides爲什麼Android音樂應用程序不恢復播放?

使用api8和使用onAudioFocusChange

+0

嘗試過4名玩家之後,他們都是DUCKing。這是來自那裏的不良行爲。猜猜我們必須忍受這個 – Erik

回答

0

嘗試4名球員他們不被迴避後IM。我可能做錯了什麼,並希望看到。我回答我自己的問題,我們必須忍受這一點。

+1

嗨,Erik,你有解決方案嗎? –

-1

你應該釋放它在MediaPlay.onCompleteListener(){}

+1

這應該是對OP問題的評論,因爲它不會嘗試回答它 – Yaroslav

0

這種方式適合我。

public class HomeActivity extends Activity implements AudioManager.OnAudioFocusChangeListener { 


// Other stuff 

    @Override 
    public void onAudioFocusChange(int focusChange) { 
     if (focusChange == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { 
      Log.i("HomeActivity", "Audio focus granted."); 
     }else if (focusChange == AudioManager.AUDIOFOCUS_REQUEST_FAILED) { 
      Log.i("HomeActivity", "Audio focus failed."); 
     } 
    } 
} 

請求AudioFocus

private void requestAudioFocus(){ 
     AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 
     // Request audio focus for playback 
     am.requestAudioFocus(this, 
       // Use the music stream. 
       AudioManager.STREAM_MUSIC, 
       // Request permanent focus. 
       AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); 
} 

放棄AudioFocus

private void abandonAudioFocus(){ 
     AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 
     am.abandonAudioFocus(this); 
} 

希望這會幫助你。

相關問題