Mi proyecto de Unity incluye una dll no administrada que se vincula a la dll portaudio que construí, todo está configurado y construido para la arquitectura x86_x64. Mi dll no administrado usa portaudio para abrir una transmisión de audio ASIO. Quiero construirlo como Universal Windows Build.
El problema es: una compilación independiente del proyecto de Unity funciona correctamente en Windows 10, también el editor de Unity funciona bien, pero cuando construyo una compilación universal de Windows obtengo una aplicación que funciona pero sin ningún sonido. Los registros muestran que portaudio abre la transmisión correctamente y obtiene todas las propiedades del controlador ASIO, que en mi caso es ASIO4ALL; sin embargo, cuando llamo a PaAsio_ShowControlPanel() , abre la ventana de configuración de ASIO4ALL, pero muestra que no ve ningún dispositivo de hardware, a diferencia de enumerarlos cuando se ejecuta el mismo método en una compilación independiente.
Intenté habilitar el permiso del micrófono en la configuración de Unity, Visual Studio y Windows. También intenté ejecutar todo como administrador, no funcionó.
La salida de depuración que obtuve al compilar la solución Visual Studio 2019 generada incluía esas líneas: Exception thrown at 0x00007FFDD17BD759 (KernelBase.dll) in MyApp.exe WinRT originate error - 0x80004005 'The window has already been destroyed.'.
onecoreuapdriversmobilepcsensorsconvergenceapiwinrtpublicinternalsensorserver.cpp(74)Windows.Devices.Sensors.dll!00007FFD7C3A2E23 (caller 00007FFD7C3EDA61) ReturnHr(3) tid(4a70) 80070490 Element not found.