Files
whisper-local/whisper_local/microphone/__init__.py
T

24 lines
875 B
Python
Raw Normal View History

# whisper_local/microphone/__init__.py
"""Mikrofon-Geräteüberwachung — plattformspezifische Backends."""
import sys
from collections.abc import Awaitable, Callable
from typing import Protocol
class MicrophoneMonitor(Protocol):
on_device_added: Callable[[str], Awaitable[None]] | None
on_device_removed: Callable[[str], Awaitable[None]] | None
on_configured_missing: Callable[[], Awaitable[None]] | None
async def start(self) -> None: ...
def stop(self) -> None: ...
def create_monitor(configured_device: str | None) -> MicrophoneMonitor:
"""Erstellt den plattformspezifischen Mikrofon-Monitor."""
if sys.platform == "win32":
from whisper_local.microphone._win32 import Win32Monitor
return Win32Monitor(configured_device)
from whisper_local.microphone._poll import PollMonitor
return PollMonitor(configured_device)