public async void Record() { if (IsRecording) { throw new InvalidOperationException("Recording already in progress!"); } Initialize(); //await DeleteExistingFile(); MediaCaptureInitializationSettings settings = new MediaCaptureInitializationSettings { StreamingCaptureMode = StreamingCaptureMode.Audio }; settings.AudioProcessing = Windows.Media.AudioProcessing.Raw; _mediaCapture = new MediaCapture(); await _mediaCapture.InitializeAsync(settings); await _mediaCapture.StartRecordToStreamAsync( MediaEncodingProfile.CreateWav(AudioEncodingQuality.Low), _memoryBuffer); //MediaEncodingProfile.CreateMp3(AudioEncodingQuality.Auto) IsRecording = true; }
private async void btnRecordEnroll_Click(object sender, RoutedEventArgs e) { txtInfo.Text = ""; if (lbProfiles.SelectedIndex < 0) { txtInfo.Text = "Get profiles and select one of them"; return; } if (CaptureMedia == null) { btnVerify.IsEnabled = false; btnRecordEnroll.Content = "Stop record enrollment"; CaptureMedia = new MediaCapture(); var captureInitSettings = new MediaCaptureInitializationSettings(); captureInitSettings.StreamingCaptureMode = StreamingCaptureMode.Audio; await CaptureMedia.InitializeAsync(captureInitSettings); MediaEncodingProfile encodingProfile = MediaEncodingProfile.CreateWav(AudioEncodingQuality.High); encodingProfile.Audio.ChannelCount = 1; encodingProfile.Audio.SampleRate = 16000; AudioStream = new InMemoryRandomAccessStream(); CaptureMedia.RecordLimitationExceeded += MediaCaptureOnRecordLimitationExceeded; CaptureMedia.Failed += MediaCaptureOnFailed; await CaptureMedia.StartRecordToStreamAsync(encodingProfile, AudioStream); _etimer.Start(); } else { _etimer.Stop(); await finishEnrollment(); } }
public async Task StartRecordingAsync() { await mediaCapture.StartRecordToStreamAsync(mediaProfile, (InMemoryRandomAccessStream)RawWAVStream); }