这是一个通过检测对比系统音量,判断触发按键的脚本。
代码倒是写好了,但是我遇到一个问题不知道怎么解决。
用 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



