2012-06-18 50 views
0

我正在開發一個應用程序,其中我需要捕獲正在播放的音頻。所以我在我的活動中實現了OnAudioFocusChangeListener來偵聽任何音頻變化。但是當播放或暫停音樂時,收聽者不會被呼叫。下面是我的代碼音頻播放和暫停時,OnAudioFocusChangeListener是否未執行?

public class AudioManagerExample extends Activity implements OnAudioFocusChangeListener{ 
    AudioReceiver adreceiver; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE); 

} 

@Override 
public void onAudioFocusChange(int focusChange) { 
    Log.d("AudioManager", "Inside on audio focus change"); 
} 

}

我在哪裏錯了?有沒有其他方法可以做到這一點?

感謝

普什帕

回答

0

你忘了包括

am.requestAudioFocus(this,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN); 

更改您的代碼

AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE); 
am.requestAudioFocus(this,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN); 
+0

謝謝VIPUL。我們可以在同一個聽衆中請求2個audiofocus嗎?即AUDIOFOCUS_GAIN和AUDIOFOCUS_LOSS?我在我的課程中添加了兩個,但我在日誌中收到「無效持續時間提示音頻焦點請求被拒絕」錯誤。 – pushpa

+0

@pushpaSorry從來沒有嘗試過2 audiofocus :) –

+0

即使有收益,它的來臨有時甚至不會到來。 – pushpa

相關問題