栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python脚本【检测系统音量触发按键】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python脚本【检测系统音量触发按键】

这是一个通过检测对比系统音量,判断触发按键的脚本。

代码倒是写好了,但是我遇到一个问题不知道怎么解决。

用 pyinstaller -F 打包后exe文件打开闪退。

萌新初学,望大佬指点!!!

import pyautogui
import sounddevice as sd
from scipy.io import wavfile
from pydub import AudioSegment
from pynput.keyboard import Controller
import time

i = 0
x, y = 2560/2, 1440/2
loudness_2 = 0
gjz = 0
a = 0
    
time.sleep(5)
# 单击鼠标
pyautogui.moveTo(x, y)
pyautogui.click()
time.sleep(2)

# 获取录音设备(字典)
qd = (sd.query_devices())
print(qd)

# 录音设备查找
for q in qd :
    if a == '立' :
            break
    gjz = gjz + 1
    b = q
    c = b.pop('name')
    for a in c :
        if a == '立' :
            print(gjz)
            break

# 录音设备选取
sd.default.device[0] = gjz - 1

while i < 900 :
    time.sleep(10)
    # 单击鼠标
    pyautogui.moveTo(x, y)
    pyautogui.click()
    i = 0
    time.sleep(3)

    while i < 900:

        # 录制
        fs = 44100 # Hz
        length = 1 # s
        recording = sd.rec(frames=fs * length, samplerate=fs, blocking=True, channels=1)

        # 写入
        wavfile.write('1.wav', fs, recording)


        # 获取音量
        sound=AudioSegment.from_file("1.wav","wav")
        loudness = int(sound.dBFS)
        print(loudness)

        # 对比音量触发Q键
        keyboard = Controller()
        if loudness > loudness_2 + 10:
            keyboard.press('q')
            keyboard.release('q')
            break
        else:
            loudness_2 = loudness
            continue
        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/688742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号