最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python控制windows系統(tǒng)音量實現(xiàn)實例

 更新時間:2023年01月19日 09:14:19   作者:機構師  
這篇文章主要介紹了Python控制windows系統(tǒng)音量實現(xiàn)實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧

使用python可以對windows系統(tǒng)的音量進行讀取或者設置。

平臺:visual studio code

語言:python

需要的python模塊:

1、pyqt5

2、ctypes:

ctypes 是 Python 的外部函數(shù)庫。它提供了與 C 兼容的數(shù)據(jù)類型,并允許調(diào)用 DLL 或共享庫中的函數(shù)??墒褂迷撃K以純

Python 形式對這些庫進行封裝。

這里是引用

3、comtypes:

comtypes是一個基于ctypes-ffi外部函數(shù)庫的純Python COM包

這里是引用

4、pycaw

Python核心音頻WindowsAPI庫

UI界面:

代碼:

1、初始化音量接口

def init_vol(self):
        """初始化音量對應"""   
          # 音量對應關系
        # 0% --- -65.25
        # 55% --- -8.92
        # 100% --- 0.0
        self.volume_match={0: -65.25, 1: -56.99, 2: -51.67, 3: -47.74, 4: -44.62, 5: -42.03, 6: -39.81, 7: -37.89, 8: -36.17, 9: -34.63, 10: -33.24,
            11: -31.96, 12: -30.78, 13: -29.68, 14: -28.66, 15: -27.7, 16: -26.8, 17: -25.95, 18: -25.15, 19: -24.38, 20: -23.65,
            21: -22.96, 22: -22.3, 23: -21.66, 24: -21.05, 25: -20.46, 26: -19.9, 27: -19.35, 28: -18.82, 29: -18.32, 30: -17.82,
            31: -17.35, 32: -16.88, 33: -16.44, 34: -16.0, 35: -15.58, 36: -15.16, 37: -14.76, 38: -14.37, 39: -13.99, 40: -13.62,
            41: -13.26, 42: -12.9, 43: -12.56, 44: -12.22, 45: -11.89, 46: -11.56, 47: -11.24, 48: -10.93, 49: -10.63, 50: -10.33,
            51: -10.04, 52: -9.75, 53: -9.47, 54: -9.19, 55: -8.92, 56: -8.65, 57: -8.39, 58: -8.13, 59: -7.88, 60: -7.63,
            61: -7.38, 62: -7.14, 63: -6.9, 64: -6.67, 65: -6.44, 66: -6.21, 67: -5.99, 68: -5.76, 69: -5.55, 70: -5.33,
            71: -5.12, 72: -4.91, 73: -4.71, 74: -4.5, 75: -4.3, 76: -4.11, 77: -3.91, 78: -3.72, 79: -3.53, 80: -3.34,
            81: -3.15, 82: -2.97, 83: -2.79, 84: -2.61, 85: -2.43, 86: -2.26, 87: -2.09, 88: -1.91, 89: -1.75, 90: -1.58,
            91: -1.41, 92: -1.25, 93: -1.09, 94: -0.93, 95: -0.77, 96: -0.61, 97: -0.46, 98: -0.3, 99: -0.15, 100: 0.0}
        #音量值反對應
        self.volume_match_2={-65.25:0, -56.99:1, -51.67:2, -47.74:3, -44.62:4, -42.03:5, -39.81:6,-37.89:7, -36.17:8, -34.63:9, -33.24:10,
            -31.96:11, -30.78:12, -29.68:13, -28.66:14, -27.7:15, -26.8:16, -25.95:17, -25.15:18,  -24.38:19, -23.65:20,
            -22.96:21, -22.3:22, -21.66:23, -21.05:24, -20.46:25, -19.9:26, -19.35:27,  -18.82:28,  -18.32:29,  -17.82:30,
            -17.35:31, -16.88:32, -16.44:33, -16.0:34, -15.58:35,-15.16:36, -14.76:37, -14.37:38,  -13.99:39, -13.62:40,
            -13.26:41, -12.9:42, -12.56:43, -12.22:44,-11.89:45, -11.56:46, -11.24:47, -10.93:48,  -10.63:49, -10.33:50,
            -10.04:51, -9.75:52, -9.47:53, -9.19:54, -8.92:55, -8.65:56, -8.39:57, -8.13:58,  -7.88:59,  -7.63:60,
            -7.38:61, -7.14:62, -6.9:63, -6.67:64, -6.44:65, -6.21:66, -5.99:67,  -5.76:68,  -5.55:69, -5.33:70,
            -5.12:71,-4.91:72, -4.71:73, -4.5:74, -4.3:75, -4.11:76,  -3.91:77, -3.72:78,  -3.53:79,  -3.34:80,
            -3.15:81, -2.97:82, -2.79:83, -2.61:84, -2.43:85, -2.26:86, -2.09:87,  -1.91:88, -1.75:89, -1.58:90,
           -1.41:91, -1.25:92, -1.09:93, -0.93:94, -0.77:95, -0.61:96, -0.46:97, -0.3:98,  -0.15:99,  0.0:100}
        self.devices11=AudioUtilities.GetSpeakers()
        self.interface=self.devices11.Activate(IAudioEndpointVolume._iid_,CLSCTX_ALL,None)
        self.volum11=cast(self.interface,POINTER(IAudioEndpointVolume))
        self.mute=self.volum11.GetMute() 

電腦的音量雖然顯示是一個整數(shù),但實際的音量值是一個浮點數(shù),就是上面代碼里所列出的,從0到100的對應值。利用pycaw獲取音頻接口,然后激活,并將獲取的輸出轉為C語言下的指針。

2、獲取音量

  vm=self.volum11.GetMasterVolumeLevel()
        #print(vm)
        vm2=round(vm,2)
        #print(vm2)
        vm3=self.volume_match_2[vm2]
        #print(vm3)
        #v1=self.volum11.GetVolumeRange()
        #print(v1)
        #return vm3
        self.lbl1.setText(str(vm3))

獲取音量,使用GetMasterVolumeLevel函數(shù)即可,這個函數(shù)獲取的是一個浮點數(shù),將浮點數(shù)作一下四舍五入的處理,小數(shù)點保留兩位(與音量值數(shù)組對應),然后去數(shù)組里匹配,將對應的音量(整數(shù))輸出顯示即可。

3、設置系統(tǒng)音量:

   v11=int(v1)
        self.sys_volume_value=self.volume_match[v11]
        #print(self.sys_volume_value)
        self.volum11.SetMasterVolumeLevel(self.sys_volume_value,None)

設置音量與獲取音量正好是相反的過程,在UI界面上設置一個音量值(整數(shù)),將其代入第二個數(shù)組,來匹配真實音量值(浮點),然后將對應的音量值利用函數(shù)SetMasterVolumeLevel輸入給電腦音頻接口即可。

4、演示視頻鏈接:

Python獲取windows音量小工具

到此這篇關于Python控制windows系統(tǒng)音量實現(xiàn)實例的文章就介紹到這了,更多相關Python控制系統(tǒng)音量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python使用JDAudioCrawler將下載的音頻存儲到本地

    Python使用JDAudioCrawler將下載的音頻存儲到本地

    在當今數(shù)字化時代,音頻數(shù)據(jù)的獲取和處理變得越來越重要,本文將訪問網(wǎng)易云音樂為案例,介紹如何使用JDAudioCrawler這個強大的工具,將音頻數(shù)據(jù)存儲下載到本地存儲中,需要的可以了解下
    2023-10-10
  • Python實現(xiàn)FM算法解析

    Python實現(xiàn)FM算法解析

    這篇文章主要介紹了Python實現(xiàn)FM算法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • Python實現(xiàn)的讀取電腦硬件信息功能示例

    Python實現(xiàn)的讀取電腦硬件信息功能示例

    這篇文章主要介紹了Python實現(xiàn)的讀取電腦硬件信息功能,結合實例形式分析了Python基于wmi庫讀取電腦CPU、磁盤、網(wǎng)絡、進程等硬件信息相關操作技巧,需要的朋友可以參考下
    2018-05-05
  • 通過CartPole游戲詳解PPO?優(yōu)化過程

    通過CartPole游戲詳解PPO?優(yōu)化過程

    這篇文章主要為大家介紹了通過CartPole游戲詳解PPO?優(yōu)化過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Python unittest單元測試框架總結

    Python unittest單元測試框架總結

    這篇文章主要介紹了Python unittest單元測試框架總結,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • python xlwt模塊的使用解析

    python xlwt模塊的使用解析

    這篇文章主要介紹了python xlwt模塊的使用解析,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-04-04
  • python3.6 實現(xiàn)AES加密的示例(pyCryptodome)

    python3.6 實現(xiàn)AES加密的示例(pyCryptodome)

    本篇文章主要介紹了python3.6 實現(xiàn)AES加密的示例(pyCryptodome),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • python協(xié)程之yield和yield?from實例詳解

    python協(xié)程之yield和yield?from實例詳解

    Python在并發(fā)處理上不僅提供了多進程和多線程的處理,還包括了協(xié)程,下面這篇文章主要給大家介紹了關于python協(xié)程之yield和yield?from的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • python隨機種子ranrandom seed的使用

    python隨機種子ranrandom seed的使用

    本文介紹了在Python中設置隨機種子random seed的方法,可以使用seed()函數(shù)設置隨機種子,確保你的隨機數(shù)生成過程是可重復的,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • pytorch 利用lstm做mnist手寫數(shù)字識別分類的實例

    pytorch 利用lstm做mnist手寫數(shù)字識別分類的實例

    今天小編就為大家分享一篇pytorch 利用lstm做mnist手寫數(shù)字識別分類的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評論

霍州市| 永登县| 乌兰浩特市| 仁怀市| 茂名市| 无极县| 邵阳市| 乐山市| 吉隆县| 若尔盖县| 天镇县| 法库县| 二连浩特市| 洪泽县| 绥棱县| 涞源县| 朔州市| 伊通| 平陆县| 中西区| 永新县| 兴国县| 商都县| 子洲县| 永州市| 新巴尔虎右旗| 来凤县| 黄冈市| 霸州市| 滦平县| 福贡县| 辰溪县| 巴彦淖尔市| 紫阳县| 潜山县| 大姚县| 荣成市| 平泉县| 辉县市| 盐亭县| 内丘县|