溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python調(diào)節(jié)音量大小的方法

發(fā)布時間:2020-06-28 10:58:48 來源:億速云 閱讀:696 作者:清晨 欄目:編程語言

不懂python調(diào)節(jié)音量大小的方法?其實(shí)想解決這個問題也不難,下面讓小編帶著大家一起學(xué)習(xí)怎么去解決,希望大家閱讀完這篇文章后大所收獲。

首先需要安裝模塊pycaw,在cmd中執(zhí)行:

pip3 install pycaw

下面是完整代碼示例:

from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume
devices = AudioUtilities.GetSpeakers()
interface = devices.Activate(
    IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
volume = cast(interface, POINTER(IAudioEndpointVolume))
#判斷是否靜音,mute為1代表是靜音,為0代表不是靜音
mute = volume.GetMute()
#獲取音量值,0.0代表最大,-65.25代表最小
vl = volume.GetMasterVolumeLevel()
#獲取音量范圍,我的電腦經(jīng)測試是(-65.25, 0.0, 0.03125),第一個應(yīng)該代表最小值,第二個代表最大值,第三個不知道是干嘛的。也就是音量從大到小是0.0到-65.25這個范圍
vr = volume.GetVolumeRange()
#設(shè)置音量, 比如-13.6代表音量是40,0.0代表音量是100
volume.SetMasterVolumeLevel(-13.6, None)

代碼解釋:

音量范圍是0.0到-65.25。

0.0、-1.0、-2.0、-3.0、……、-5.0、-10.0、-20.0、-30.0、-40.0、-50.0、-55.0、-60.0、-65.25

以上數(shù)值代表音量從大到小,0.0代表是電腦上的音量數(shù)值為100,-1.0代表音量數(shù)值為94,以此類推慢慢變小,一直到-65.25后音量數(shù)值就變成0了。

如果自己想把音量設(shè)為某個值,又不知道數(shù)值是什么,可先手動把windows系統(tǒng)的音量調(diào)到需要的值,然后通過vl變量獲取到具體數(shù)值。

因?yàn)榇颂幍囊袅繑?shù)值與系統(tǒng)的音量數(shù)值的轉(zhuǎn)換有點(diǎn)不規(guī)則,并不是以固定的值遞增或遞減,所以暫時沒有固定的公式進(jìn)行轉(zhuǎn)換。改天有時間再好好研究。

或者也可以自己做一個對照表,把0.0到-65.25分別對應(yīng)系統(tǒng)的音量數(shù)值是多少全部列出來,這樣以后就可以直接用windows的音量數(shù)值來設(shè)置音量了。


感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python調(diào)節(jié)音量大小的方法內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI