Я разрабатываю приложение WPF, в котором я записываю аудиоданные с помощью класса Windows.Media.Capture.MediaCapture
. Он работает, если я инициализирую с параметрами или без них:
var mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync();
или я могу добавить, какой микрофон использовать (если их больше одного):
var allAudioDevices = await DeviceInformation.FindAllAsync(DeviceClass.AudioCapture);
DeviceInformation microphone = allAudioDevices.FirstOrDefault();
MediaCaptureInitializationSettings mediaInitSettings = new MediaCaptureInitializationSettings {
AudioDeviceId = microphone.Id,
StreamingCaptureMode = StreamingCaptureMode.Audio
};
await _mediaCapture.InitializeAsync(mediaInitSettings);
Проблема возникает, когда я запускаю свое приложение как приложение UWP (с настольным мостом). Как приложение UWP, когда оно вызывает метод InitializeAsync()
, оно всегда выдает исключение со следующим (подробным :)) сообщением об ошибке: Element not found.
Объект DeviceInformation
микрофона найден правильно, поэтому что-то происходит во время инициализации метода MediaCapture
.
Возможность микрофона задается в файле манифеста проекта моста.
Что я делаю не так? Я также открыт для использования других методов записи голоса.