API Reference

Exceptions

exception winappaudiorouter.AudioRoutingError[source]

Raised when routing operations fail.

Data models

class winappaudiorouter.AudioDeviceInfo(id: 'str', name: 'str', is_default: 'bool')[source]
class winappaudiorouter.AudioSessionInfo(process_id: 'int', process_name: 'str | None', device_id: 'str', device_name: 'str', session_identifier: 'str', session_instance_identifier: 'str')[source]

Device discovery

winappaudiorouter.list_output_devices() list[AudioDeviceInfo][source]

List active render devices.

winappaudiorouter.list_input_devices() list[AudioDeviceInfo][source]

List active capture devices.

winappaudiorouter.find_output_device(device: str) AudioDeviceInfo[source]
winappaudiorouter.find_input_device(device: str) AudioDeviceInfo[source]

Session discovery

winappaudiorouter.list_app_sessions() list[AudioSessionInfo][source]

List current render audio sessions across active output devices.

winappaudiorouter.list_input_sessions() list[AudioSessionInfo][source]

List current capture audio sessions across active input devices.

winappaudiorouter.resolve_process_ids(process_id: int | None, process_name: str | None) list[int][source]
winappaudiorouter.resolve_input_process_ids(process_id: int | None, process_name: str | None) list[int][source]

Routing

winappaudiorouter.set_app_output_device(*, process_id: int | None = None, process_name: str | None = None, device: str) dict[int, AudioDeviceInfo][source]

Route one app (or all matching app PIDs) to a specific output device.

winappaudiorouter.set_app_input_device(*, process_id: int | None = None, process_name: str | None = None, device: str) dict[int, AudioDeviceInfo][source]

Route one app (or all matching app PIDs) to a specific input device.

winappaudiorouter.get_app_output_device(*, process_id: int | None = None, process_name: str | None = None) dict[int, str][source]

Return current persisted route for the PID as a plain MMDevice id.

winappaudiorouter.get_app_input_device(*, process_id: int | None = None, process_name: str | None = None) dict[int, str][source]

Return current persisted input route for the PID as a plain MMDevice id.

winappaudiorouter.clear_app_output_device(*, process_id: int | None = None, process_name: str | None = None) list[int][source]

Clear persisted per-app output routing (app returns to system default).

winappaudiorouter.clear_app_input_device(*, process_id: int | None = None, process_name: str | None = None) list[int][source]

Clear persisted per-app input routing (app returns to system default).