2016-04-11 5 views
0

Я работаю над универсальным платформенным приложением для окон, ориентированных на Windows 10. Я высмеял большую часть логики в консольном приложении, которое работает нормально, но я получаю «Доступ лишен» «исключение, пытающееся привести его в систему метро.C# NAudio для Windows 10 Universal App

Я проследил его до библиотеки NAudio, которую я использую, чтобы получить устройство loopback Wasapi. Все работает нормально, пока я не запускаю метод записи на устройстве Wasapi.

Это мое первое приложение для метро, ​​и я немного смущен манифестом приложения. Обычно я хотел бы добавить в манифест запрос повышенной привилегии безопасности, но мне кажется, что мне теперь нужно работать с «возможностями» и «декларациями». Я попытался добавить звуковое объявление фоновой задачи в свою библиотеку классов, использующую NAudio в качестве точки входа. Я также попытался включить все перечисленные возможности. Ни один из этих методов не был успешным.

Как я уже сказал, это мое первое приложение типа метро, ​​так что это может быть тривиальной проблемой, но любые рекомендации или предложения оценены.

ответ

0

TLDR; нашел решение, разрешить доступ микрофона к приложениям в системных настройках.

след ошибки для справки: После того, как немного (много) рытья я разыскал точную ошибку:

An exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.ni.dll but was not handled in user code Additional information: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

, который в настоящее время брошенной Mmdevapi.dll. Для захвата петли NAudio/WASAPI требуется возможность подключения микрофона, которую я включил, но я отключил функциональность системы микрофона в качестве системного предпочтения. Система/Конфиденциальность/Микрофон. Изменение этого параметра, чтобы приложения могли использовать микрофон, устранило эту проблему.

Очень глупо, но вызвало у меня много головной боли. Надеюсь, это спасет кого-то еще в будущем.