日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android音樂編程的管理音頻硬件

獲取當(dāng)前正在播放音頻的硬件信息

使用不同的硬件設(shè)備可能會影響您應(yīng)用程序的設(shè)計方式,您可以通過 AudioManager 來查詢當(dāng)前正在播放音頻的硬件設(shè)備信息,是內(nèi)置揚聲器,還是有線耳機(jī),或者是藍(lán)牙設(shè)備。

示例代碼如下:

 
 
 
  1. if (isBluetoothA2dpOn()) {
  2.    // Adjust output for Bluetooth. 藍(lán)牙設(shè)備
  3. } else if (isSpeakerphoneOn()) {
  4.    // Adjust output for Speakerphone. 內(nèi)置揚聲器(免提)
  5. } else if (isWiredHeadsetOn()) {
  6.    // Adjust output for headsets 有線耳機(jī)
  7. } else {
  8.    // If audio plays and noone can hear it, is it still playing? 未知設(shè)備
  9. }

處理音頻播放硬件的狀態(tài)變化

當(dāng)耳機(jī)線脫落,藍(lán)牙設(shè)備斷開,音頻輸出流會自動切換到內(nèi)置揚聲器。如果此時您正在大聲播放音樂,這可能不是您期待的結(jié)果。
不過也不用擔(dān)心,當(dāng)出現(xiàn)硬件設(shè)備切換的時候,Android 會發(fā)送系統(tǒng)廣播 ACTION_AUDIO_BECOMING_NOISY ,您的應(yīng)用程序中應(yīng)該注冊一個 BroadcastReceiver 來監(jiān)聽這個消息,當(dāng)出現(xiàn)這種情況的時候,如果正在聽音樂,較好的設(shè)計方案是暫停當(dāng)前音樂的播放,如果正在玩游戲,那么盡量降低游戲的音量是個不錯的解決方法。

示例代碼如下:

 
 
 
  1. private class NoisyAudioStreamReceiver extends BroadcastReceiver {
  2.   @Override
  3.   public void onReceive(Context context, Intent intent) {
  4.     if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {
  5.        // Pause the playback
  6.     }
  7.   }
  8. }
  9. private IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);
  10. private void startPlayback() {
  11.    registerReceiver(myNoisyAudioStreamReceiver(), intentFilter);
  12. }
  13. private void stopPlayback() {
  14.    unregisterReceiver(myNoisyAudioStreamReceiver);
  15. }

參考文摘:
http://developer.android.com/training/managing-audio/audio-output.html


當(dāng)前文章:Android音樂編程的管理音頻硬件
網(wǎng)頁URL:http://www.dlmjj.cn/article/dhopjss.html