ref: N25B-119
When the microphone fails, it will raise an IOError during the `read`. This is simulated with a new test. ref: N25B-119
AudioSender runs in a separate thread to send audio from the microphone. ref: N25B-119