AudioPlayerSample Метод или операция не реализованы - PullRequest
0 голосов
/ 10 октября 2018

Скачал самый последний проект CSCORE, установил AudioPlayerSample в качестве автозагрузки, скомпилировал отладочную.Немедленно ошибка: метод или операция не реализована.Работает на Lenovo Windows 10 Home и Visual Studio 2017 Community

Редактировать.Это ошибка STUPID, у каждой Windows свой путь к SDK, у CSCore только один, поэтому CSCore, без изменения файла проекта, работает на Windows 8.1, а не на 7 или 10: см. Мой комментарий в: CSCoreпроблемы

Трассировка стека (с добавлением исходных строк под каждой стековой строкой):

System.NotImplementedException
    HResult=0x80004001
    Message=The method or operation is not implemented.
    Source=CSCore
    StackTrace:
     at CSCore.CoreAudioAPI.InteropCalls.CallI(Void* _basePtr, IntPtr intPtr, Void* p) in C:\Users\mpmvd\Documents\Visual Studio 2017\Projects\cscore-master\CSCore\CoreAudioAPI\InteropCalls.cs:line 204 : 
            throw new NotImplementedException();
     at CSCore.CoreAudioAPI.MMDeviceEnumerator.RegisterEndpointNotificationCallbackNative(IMMNotificationClient notificationClient) in C:\Users\mpmvd\Documents\Visual Studio 2017\Projects\cscore-master\CSCore\CoreAudioAPI\MMDeviceEnumerator.cs:line 267 :    
            result = InteropCalls.CallI(UnsafeBasePtr,

                        Marshal.GetComInterfaceForObject(notificationClient, typeof(IMMNotificationClient)),

                        ((void**)(*(void**)UnsafeBasePtr))[6]);


     at CSCore.CoreAudioAPI.MMDeviceEnumerator.RegisterEndpointNotificationCallback(IMMNotificationClient notificationClient) in C:\Users\mpmvd\Documents\Visual Studio 2017\Projects\cscore-master\CSCore\CoreAudioAPI\MMDeviceEnumerator.cs:line 253 : 
            CoreAudioAPIException.Try(RegisterEndpointNotificationCallbackNative(notificationClient), InterfaceName,

                    "RegisterEndpointNotificationCallback");

     at CSCore.CoreAudioAPI.MMDeviceEnumerator..ctor() in C:\Users\mpmvd\Documents\Visual Studio 2017\Projects\cscore-master\CSCore\CoreAudioAPI\MMDeviceEnumerator.cs:line 135 : 
            RegisterEndpointNotificationCallback(_notificationClient);
     at AudioPlayerSample.Form1.Form1_Load(Object sender, EventArgs e) in C:\Users\mpmvd\Documents\Visual Studio 2017\Projects\cscore-master\Samples\AudioPlayerSample\Form1.cs:line 126 : 
            using (var mmdeviceEnumerator = new MMDeviceEnumerator())
     at System.Windows.Forms.Form.OnLoad(EventArgs e)
     at System.Windows.Forms.Form.OnCreateControl()
     at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
     at System.Windows.Forms.Control.CreateControl()
     at System.Windows.Forms.Control.WmShowWindow(Message& m)
     at System.Windows.Forms.Control.WndProc(Message& m)
     at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
     at System.Windows.Forms.ContainerControl.WndProc(Message& m)
     at System.Windows.Forms.Form.WmShowWindow(Message& m)
     at System.Windows.Forms.Form.WndProc(Message& m)
     at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
     at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
     at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Кто-нибудь испытал это и нашел решение?

1 Ответ

0 голосов
/ 11 октября 2018

Откройте файл CSCore.csproj.

внизу скрипта посткомпиляции найдите строку set sdk=%25PROGRAMFILES(x86)%25\Microsoft SDKs\Windows\ и проверьте в ваших PROGRAMFILES (x86) \ Microsoft SDKs \ Windows, где находится файл ildasm.exe.

changeустановите sdk так, чтобы имя каталога было тем, которое вы нашли на вашем компьютере.

...