【问题标题】:Why midiOutOpen returns 1 (=Unspecified error) in a UWP app?为什么 midiOutOpen 在 UWP 应用程序中返回 1(=未指定错误)?
【发布时间】:2021-11-29 23:18:44
【问题描述】:

当我转换应用程序时,midiOutOpen 函数开始在被调用时返回 1。

我声明为:

VB
Shared Function midiOutOpen(ByRef lphMidiOut As IntPtr, uDevID As IntPtr, cBack As IntPtr, dwinst As IntPtr, dwFlags As UInt32) As UInt32

有没有办法从仍然可以发布到 MS 商店的打包应用程序 (.appx) 中使用 winmm.dll/midiOutOpen?或者其他获取midi设备句柄(ID 0)的方法?

【问题讨论】:

  • 所以你有一个桌面应用程序成功调用了这个方法,对吧?然后,您将此应用程序转换为 appx。你能告诉我你是如何打包你的桌面应用程序的吗?
  • 也许这就是原因 - 我正在使用大约 5 年没有更新的离线电脑。目前,我正在尝试使用 wim 扩展的基本映像,但我发现 Docker 是一个糟糕的应用程序(无法正常工作)。我正在考虑将 wim 图像放在离线计算机上,然后从 Desktop Converter 中引用它。我已经在离线机器上安装了Project Centennial。我走对路了吗?
  • 刚刚测试...在不同机器上使用 VS2019 打包时的行为相同。 MidiOutOpen 返回 1。
  • @RoyLi-MSFT 是的,在转换之前它返回 0 并且对 midiOutShortMsg 的调用会产生声音。对我之前的评论的补充:我使用侧加载从源代码打包。

标签: uwp midi desktop-bridge appx winmm


【解决方案1】:

看起来 midiOutOpen 函数和其他 API(如 midiOutShortMsg 函数)在桌面桥应用程序中不起作用。

目前,我们建议您使用来自Windows.Devices.Midi Namespace 的现代 MIDI。您可以参考这里的示例:MIDI sample

【讨论】:

    猜你喜欢
    • 2021-04-03
    • 2015-10-25
    • 1970-01-01
    • 2011-11-20
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    相关资源
    最近更新 更多