<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                > 編寫:[kesenhoo](https://github.com/kesenhoo) - 原文:[http://developer.android.com/training/managing-audio/audio-output.html](http://developer.android.com/training/managing-audio/audio-output.html) 當用戶想要通過Android設備欣賞音樂的時候,他可以有多種選擇,大多數設備擁有內置的揚聲器,有線耳機,也有其它很多設備支持藍牙連接,有些甚至還支持A2DP藍牙音頻傳輸模型協定。(譯注:A2DP全名是Advanced Audio Distribution Profile 藍牙音頻傳輸模型協定! A2DP是能夠采用耳機內的芯片來堆棧數據,達到聲音的高清晰度。有A2DP的耳機就是藍牙立體聲耳機。聲音能達到44.1kHz,一般的耳機只能達到8kHz。如果手機支持藍牙,只要裝載A2DP協議,就能使用A2DP耳機了。還有消費者看到技術參數提到藍牙V1.0 V1.1 V1.2 V2.0 - 這些是指藍牙的技術版本,是指通過藍牙傳輸的速度,他們是否支持A2DP具體要看藍牙產品制造商是否使用這個技術。來自[百度百科](http://baike.baidu.com/view/551149.htm)) ### 檢測目前正在使用的硬件設備(Check What Hardware is Being Used) 使用不同的硬件播放聲音會影響到應用的行為。可以使用[AudioManager](http://developer.android.com/reference/android/media/AudioManager.html)來查詢當前音頻是輸出到揚聲器,有線耳機還是藍牙上,如下所示: ~~~ 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? } ~~~ ### 處理音頻輸出設備的改變(Handle Changes in the Audio Output Hardware) 當有線耳機被拔出或者藍牙設備斷開連接的時候,音頻流會自動輸出到內置的揚聲器上。假設播放聲音很大,這個時候突然轉到揚聲器播放會顯得非常嘈雜。 幸運的是,系統會在這種情況下廣播帶有[ACTION_AUDIO_BECOMING_NOISY](http://developer.android.com/reference/android/media/AudioManager.html#ACTION_AUDIO_BECOMING_NOISY)的Intent。無論何時播放音頻,我們都應該注冊一個[BroadcastReceiver](http://developer.android.com/reference/android/content/BroadcastReceiver.html)來監聽這個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); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看