Android Audio实战——音量调节(十二)
對(duì)于音量調(diào)節(jié)上一篇文章已經(jīng)做了簡(jiǎn)單介紹,無(wú)論是軟件調(diào)節(jié)還是硬件調(diào)節(jié),最終實(shí)現(xiàn)都是調(diào)用到 AudioService。這一篇文章主要分析一下音量調(diào)節(jié)的相關(guān)代碼。
一、APP調(diào)用
1、音量調(diào)節(jié)接口
App在設(shè)置音量時(shí),通常使用 AudioManager 的以下兩個(gè)接口:
1、setStreamVolume(int streamType, int index, int flags)
index:音量等級(jí),通常在 0~31 這個(gè)設(shè)置范圍,音量可以突變?cè)O(shè)置,如上次音量為 1,下次設(shè)置音量為 5。
2、adjustStreamVolume(int streamType, int direction, int flags)
direction:音量調(diào)整方向 ADJUST_LOWER,ADJUST_RAISE,ADJUST_SAME,類似于每次只加/減 1,勻速調(diào)整。
2、音頻流類型
音量設(shè)置是針對(duì)音頻流類型來(lái)設(shè)置的,而 streamType 是系統(tǒng)規(guī)定(在AudioSystem中)的音頻流類型,如下:
源碼位置:/frameworks/base/media/java/android/media/AudioSystem.java
// 用于標(biāo)識(shí)默認(rèn)音頻流音量 public static final int STREAM_DEFAULT = -1; // 用于識(shí)別電話呼叫的音頻流的音量 public static final int STREAM_VOICE_CALL = 0; // 用于識(shí)別系統(tǒng)聲音的音頻流的音量 public總結(jié)
以上是生活随笔為你收集整理的Android Audio实战——音量调节(十二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 波的散射
- 下一篇: ICCV2021对象检测相关论文