public override int Read(byte[] buffer, int offset, int count) { var bytesRead = audioRecord.Read(buffer, offset, count); if (bytesRead > 0) { vad.ProcessBufferEx(buffer, bytesRead); return(bytesRead); } return(0); }
static void ProcessStream(VoiceActivityDetector vad, Stream inputStream) { var bufferSize = 3000 + new Random().Next(200); var buffer = new byte[bufferSize]; int bytesRead = 0; bytesRead = inputStream.Read(buffer, 0, bufferSize); while (bytesRead > 0) { vad.ProcessBufferEx(buffer, bytesRead); bufferSize = 3000 + new Random().Next(200); buffer = new byte[bufferSize]; bytesRead = inputStream.Read(buffer, 0, bufferSize); } }
private void ProcessBuffer(AudioQueueBuffer buffer) { Log.Debug(TAG, "AudioQueueBuffer size:" + buffer.AudioDataByteSize); if (buffer.AudioDataByteSize > 0) { var soundData = new byte[buffer.AudioDataByteSize]; System.Runtime.InteropServices.Marshal.Copy(buffer.AudioData, soundData, 0, (int)buffer.AudioDataByteSize); if (outputAudioStream != null) { outputAudioStream.Write(soundData, 0, soundData.Length); vad.ProcessBufferEx(soundData, soundData.Length); } } }