#uwp #midi #desktop-bridge #appx #winmm
Вопрос:
Как только я конвертирую приложение, функция midiOutOpen начинает возвращать 1 при вызове.
Я заявляю об этом как:
VB
Shared Function midiOutOpen(ByRef lphMidiOut As IntPtr, uDevID As IntPtr, cBack As IntPtr, dwinst As IntPtr, dwFlags As UInt32) As UInt32
Есть ли способ использовать winmm.dll/midiOutOpen из упакованного приложения(.appx), которое все еще можно опубликовать в MS store? Или каким-то другим способом получить дескриптор midi-устройства (идентификатор 0)?
Комментарии:
1. Итак, у вас есть настольное приложение, которое успешно использовало этот метод, верно? Затем вы преобразовали это приложение в appx. Не могли бы вы, пожалуйста, рассказать мне, как вы упаковываете свое настольное приложение?
2. Может быть, в этом причина — я пакую вещи на автономном компьютере, который не обновлялся около 5 лет. В настоящее время я пытаюсь получить в свои руки расширенное базовое изображение wim, но я нахожу Docker ужасным приложением (не работает). Я подумываю поместить изображение wim на автономный компьютер, а затем обратиться к нему из Desktop Converter. Я уже установил Project Centennial на автономную машину. Иду ли я по правильному пути?
3. Только что проверили… То же самое поведение при упаковке с использованием VS2019 на другой машине. MidiOutOpen возвращает 1.
4. @RoyLi-MSFT Да, перед преобразованием он возвращает 0, и вызов midiOutShortMsg производит звук. Дополнение к моему предыдущему комментарию: я сделал упаковку из исходного кода с боковой загрузкой.
Ответ №1:
Похоже, что функция midiOutOpen и другие API, такие как функция midiOutShortMsg, не работают в приложениях настольных мостов.
В настоящее время мы бы предложили вам использовать современный MIDI из Windows.Устройства.Пространство имен Midi. Вы можете обратиться к образцу здесь:MIDI-образец.