Files
KotoPad/modules/restream/devices.py

25 lines
753 B
Python

from dataclasses import dataclass
import sounddevice as sd
@dataclass
class StreamingDevices:
output: dict
out_l: list
input: dict
in_l: list
def get_streaming_devices() -> StreamingDevices:
devices = StreamingDevices(dict(), list(), dict(), list())
for device in sd.query_hostapis()[0]['devices']:
if sd.query_devices(device)['max_output_channels'] == 0:
devices.input[sd.query_devices(device)['name']] = sd.query_devices(device)['index']
devices.in_l.append(sd.query_devices(device)['name'])
else:
devices.output[sd.query_devices(device)['name']] = sd.query_devices(device)['index']
devices.out_l.append(sd.query_devices(device)['name'])
return devices