public void StopRecording() { source.Cancel(); chunk = null; audioCapture.Flush(); audioCapture.Unprepare(); audioCapture.Dispose(); isRecording = false; }
private static void Record() { _source = new CancellationTokenSource(); _token = _source.Token; Task.Run(() => { while (!_token.IsCancellationRequested) { var ar2 = new AssistRequest { AudioIn = ByteString.CopyFrom(_audioCapture.Read(_bufferSize)) }; SapService.SendData(ar2.ToByteArray()); } _audioCapture.Flush(); _audioCapture.Unprepare(); }, _token); }