在 Android Audio 開發中,很多場景需要獲取當前正在播放的音頻類型,而在音頻管理器 AudioManager 中并沒有發現類似的接口,這一篇文章就來看一下實現獲取活躍音頻類型的方式。
一、音頻類型獲取
對于獲取當前活躍音頻流類型,在《硬按鍵調節音量》中是通過 getActiveStreamType() 方法獲取的,這里我們就以此為突破口進行分析。
1、AudioService
源碼位置:/frameworks/base/services/core/java/com/android/server/audio/AudioService.java
getActiveStreamType
protected static final int DEFAULT_VOL_STREAM_NO_PLAYBACK = AudioSystem.STREAM_MUSIC;private int getActiveStreamType(int suggestedStreamType) {// 單一音量模式,返回默認音頻流類型為媒體if (mIsSingleVolume && suggestedStreamType == AudioManager.US