feat: add application parameter to choose a custom microphone

ref: N25B-119
This commit is contained in:
Twirre Meulenbelt
2025-11-02 16:12:56 +01:00
parent 5912ac606a
commit fab5127cac
4 changed files with 122 additions and 8 deletions

View File

@@ -7,7 +7,7 @@ import zmq
from robot_interface.endpoints.socket_base import SocketBase
from robot_interface.state import state
from robot_interface.utils.microphone import choose_mic_default
from robot_interface.utils.microphone import choose_mic
logger = logging.getLogger(__name__)
@@ -17,10 +17,16 @@ class AudioSender(SocketBase):
def __init__(self, zmq_context, port=5558):
super(AudioSender, self).__init__(str("audio")) # Convert future's unicode_literal to str
self.create_socket(zmq_context, zmq.PUB, port)
self.audio = pyaudio.PyAudio()
self.microphone = choose_mic_default(self.audio)
self.thread = None
try:
self.audio = pyaudio.PyAudio()
self.microphone = choose_mic(self.audio)
except IOError as e:
logger.warning("PyAudio is not available.", exc_info=e)
self.audio = None
self.microphone = None
def start(self):
"""
Start sending audio in a different thread.