亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【Android Developers Training】 46. 處理音頻

系統 2360 0

注:本文翻譯自Google官方的Android Developers Training文檔,譯者技術一般,由于喜愛安卓而產生了翻譯的念頭,純屬個人興趣愛好。

原文鏈接: http://developer.android.com/training/managing-audio/audio-focus.html


當用戶希望從Android設備欣賞音頻時,他將會有狠多選擇。大多數設備有內置的喇叭,以及有線耳機的插孔,還有很多支持A2DP音頻的藍牙連接設備。


一). 檢查哪個硬件在被使用

你的應用是如何表現的可能會被外放被引導至什么硬件設備所影響。

你可以通過查詢 AudioManager 來確定現在的音頻是被引導至擴音器,有線耳機還是藍牙設備。如下所示:

      
        if
      
      
         (isBluetoothA2dpOn()) {

    
      
      
        //
      
      
         Adjust output for Bluetooth.
      
      

} 
      
        else
      
      
        if
      
      
         (isSpeakerphoneOn()) {

    
      
      
        //
      
      
         Adjust output for Speakerphone.
      
      

} 
      
        else
      
      
        if
      
      
         (isWiredHeadsetOn()) {

    
      
      
        //
      
      
         Adjust output for headsets
      
      

} 
      
        else
      
      
         { 

    
      
      
        //
      
      
         If audio plays and noone can hear it, is it still playing?
      
      

}
    

二). 處理音頻外放設備的改變

當沒有插入耳機,也沒有藍牙設備連接,音頻流會自動的引導至擴音器。如果你聽音樂時喜歡吧音量調的像我一樣高,那么你可能會被吵鬧聲驚嚇到。

幸運的是,當這種情況發生時,系統會廣播一個 ACTION_AUDIO_BECOMING_NOISY 行為的intent。注冊一個廣播接收器( BroadcastReceiver )來監聽這一intent是一個很好的習慣,不管你是否在播放音樂。對于音樂播放器來說,用戶一般期望播放被停止,二對于游戲來說,你可能會選擇顯著降低音量。

      
        private
      
      
        class
      
       NoisyAudioStreamReceiver 
      
        extends
      
      
         BroadcastReceiver {

    @Override

    
      
      
        public
      
      
        void
      
      
         onReceive(Context context, Intent intent) {

        
      
      
        if
      
      
         (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {

            
      
      
        //
      
      
         Pause the playback
      
      
                }

    }

}




      
      
        private
      
       IntentFilter intentFilter = 
      
        new
      
      
         IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);




      
      
        private
      
      
        void
      
      
         startPlayback() {

    registerReceiver(myNoisyAudioStreamReceiver(), intentFilter);

}




      
      
        private
      
      
        void
      
      
         stopPlayback() {

    unregisterReceiver(myNoisyAudioStreamReceiver);

}
      
    

【Android Developers Training】 46. 處理音頻外放設備


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色99色| 免费观看一级欧美大 | 久久国产精品岛国搬运工 | 天天干天天爽天天操 | 欧美怡红院免费全部视频 | 99这里只有精品在线 | 激情在线日韩视频免费 | 欧美 亚洲 中文字幕 | 久久国产精品久久久久久久久久 | 中文字幕欧美在线观看 | 国产乱在线 | 四虎免费久久影院 | 亚洲毛片在线看 | 亚洲精品成人7777在线观看 | 99福利网| 天天操天天艹 | 一区二区在线播放福利视频 | 天天舔天天射天天操 | www.中文字幕.com | 精品一区二区三区免费观看 | 尹人视频在线观看 | 日本亚欧乱色视频在线网站 | 色综合九九 | 日韩免费黄色片 | 国产精品久久久久一区二区 | 伊人天天躁夜夜躁狠狠 | 色偷偷青青草原在线视频 | 91精品国产91 | 欧美综合图 | 久久精品中文 | 不卡一区在线观看 | 一区二区午夜 | 欧美video巨大粗暴18 | 亚洲高清视频网站 | 色狠狠狠色噜噜噜综合网 | 中文字幕123区 | 四虎在线影视在线影库 | 国产精品福利在线观看 | 亚洲综合色婷婷在线观看 | 国产精品久久亚洲一区二区 | 久久精品亚洲牛牛影视 |