Plugin.AudioRecorder icon indicating copy to clipboard operation
Plugin.AudioRecorder copied to clipboard

Use custom stream to record audio

Open Haarmees opened this issue 5 years ago • 0 comments

Hello, This code change allows you to use your own stream when recording audio. The StartRecording function now accepts a stream object:

public async Task<Task<string>> StartRecording (Stream recordStream = null, bool writeHeaders = false)

If recordStream is null the old behavior is used where a file is written on the device. The writeHeaders flag can be used to write the WAV headers to the beginning of the stream.

Example usage:

var memoryStream = new MemoryStream();
var audioRecordTask = await recorder.StartRecording (memoryStream, true);

I added this change for my scenario where I don't want data to be stored on the device or use an internal memoryStream like #48. This change will also allow scenarios mentioned in #12 and #13 by reusing the stream. It also supports the scenario of #48, using a memory stream instead of filestream.

Haarmees avatar Nov 22 '20 17:11 Haarmees