public override bool stopCapturer() { m_captureLock.@lock(); try { // only stop if we are recording if (m_audioRecord.RecordingState == AudioRecord.RECORDSTATE_RECORDING) { // stop recording try { m_audioRecord.stop(); } catch (System.InvalidOperationException e) { Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); return(false); } } } finally { // Ensure we always unlock m_isCapturing = false; m_captureLock.unlock(); } return(true); }