Streaming audio from microphone in iPhone using Xa

2020-08-01 03:19发布

问题:

Recording with AudioQueue and Monotouch static sound demonstrates how to get audio via an iPhone's microphone into an AudioQueue using Xamarin.iOS. My question is: how do I keep the microphone continuously recording? I basically want to keep the microphone on for as long as the app is open, and continuously capture the audio stream (note that I do not want to save the stream to file). Inside a long-running while-loop?

回答1:

This should work: https://github.com/sami1971/SimplyMobile/blob/master/iOS/SimplyMobile.Media/Audio/AudioStream.cs

Initialize and use Start() on application start and then call Stop() when application closes (or goes background). Captured buffers are delivered through event handler OnBroadcast.

EDIT: Here is a quick WaveRecorder class. I have not had time to test it so if you find bugs in it, please push back changes or let me know what needs to be changed. https://github.com/sami1971/SimplyMobile/blob/master/Core/SimplyMobile.Media/Audio/WaveRecorder.cs