adb:獲取手機(jī)音量并設(shè)置音量大小
在自動(dòng)化測(cè)試過程中,有時(shí)可能會(huì)需要調(diào)節(jié)Android設(shè)備的各類音量的場(chǎng)景時(shí)時(shí),可借助adb命令來實(shí)現(xiàn)
-
獲取設(shè)備音頻流信息
adb shell dumpsys audio
一、獲取當(dāng)前設(shè)備各類音量大小
-
獲取設(shè)備的電話音量 - STREAM_VOICE_CALL
adb shell media volume --show --stream 0 --get -
獲取設(shè)備的系統(tǒng)音量 - STREAM_SYSTEM
adb shell media volume --show --stream 1 --get -
獲取設(shè)備的鈴音音量 - STREAM_RING
adb shell media volume --show --stream 2 --get -
獲取設(shè)備的音樂音量(多媒體音量 )- STREAM_MUSIC
adb shell media volume --show --stream 3 --get -
獲取設(shè)備的鬧鐘音量- STREAM_ALARM
adb shell media volume --show --stream 4 --get -
打印信息,示例:STREAM_MUSIC
""" [v] will control stream=3 (STREAM_MUSIC) [v] will get volume [v] Connecting to AudioService [v] volume is 0 in range [0..15] """ 即當(dāng)前STREAM_MUSIC是0,最小0,最大15
二、設(shè)置音量
-
示例:設(shè)置多媒體音量大小
adb shell media volume --show --stream 3 --set 10 """ 輸出: [v] will control stream=3 (STREAM_MUSIC) [v] will set volume to index=10 [v] Connecting to AudioService """ # 注:設(shè)置系統(tǒng)音量為0(stream=1)后,設(shè)備會(huì)進(jìn)入靜音模式,之后再修改其他模式音量會(huì)失敗 -
Python使用示例
import os import re # 設(shè)置手機(jī)多媒體音量為 2 os.popen('adb shell media volume --show --stream 3 --set 2') # 獲取設(shè)備多媒體音量 volume = os.popen('adb shell media volume --show --stream 3 --get').read() print(re.findall(r'.*?volume is (.*?) in range.*?', volume)) # 輸出:['2']