Skip to content

Commit cdefe49

Browse files
Merge pull request #333 from pollen-robotics/audio-default-fix
Fix for audio default device
2 parents 0163780 + b2fc1d1 commit cdefe49

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/reachy_mini/media/audio_sounddevice.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ def get_output_device_id(self, name_contains: str) -> int:
198198
self.logger.warning(
199199
f"No output device found containing '{name_contains}', using default."
200200
)
201-
return int(sd.default.device[1])
201+
return self._safe_query_device('output')
202202

203203
def get_input_device_id(self, name_contains: str) -> int:
204204
"""Return the input device id whose name contains the given string (case-insensitive).
@@ -217,4 +217,10 @@ def get_input_device_id(self, name_contains: str) -> int:
217217
self.logger.warning(
218218
f"No input device found containing '{name_contains}', using default."
219219
)
220-
return int(sd.default.device[1])
220+
return self._safe_query_device('input')
221+
222+
def _safe_query_device(self, kind: str) -> int:
223+
try:
224+
return int(sd.query_devices(None, kind)['index'])
225+
except sd.PortAudioError:
226+
return int(sd.default.device[1])

0 commit comments

Comments
 (0)