Maus mit Ton bedienen
Verfasst: Sonntag 7. März 2021, 14:50
Hallo Leute.
Ich versuche meine Maus per Mikrophon zu bedienen.
Das Script, dass ich mir dazu geschrieben habe funktioniert allerdings anders als erwartet.
Ziel:
1. Bei hoher Lautstärke Maus drücken
2. Wenn Fall eins nicht mehr eintrifft Maus loslassen
Problem:
Fall zwei tritt sofort nach Fall eins ein.
Könnt ihr mir vielleicht helfen?
Ich versuche meine Maus per Mikrophon zu bedienen.
Das Script, dass ich mir dazu geschrieben habe funktioniert allerdings anders als erwartet.
Ziel:
1. Bei hoher Lautstärke Maus drücken
2. Wenn Fall eins nicht mehr eintrifft Maus loslassen
Problem:
Fall zwei tritt sofort nach Fall eins ein.
Code: Alles auswählen
import sounddevice as sd
import numpy as np
import time
from pynput.mouse import Button, Controller
duration = 10
class MouseController:
def __init__(self):
self.active = False
self.mouse = Controller()
def check_event(self, input):
if input == 1:
if self.active == False:
self.active = True
self.mouse.press(Button.left)
print("press")
else:
if self.active != False:
self.active = False
self.mouse.release(Button.left)
print("release")
mouse_controller = MouseController()
def procces_sound(indata, outdata, frames, time, status):
volume_norm = np.linalg.norm(indata) * 10
if volume_norm >= 50:
mouse_controller.check_event(1)
else:
mouse_controller.check_event(0)
time.sleep(5)
with sd.Stream(callback=procces_sound):
sd.sleep(duration * 1000)