在Windows中,有没有办法在新的MIDI端口可用时获得通知?有没有比轮询端口列表更好的解决方案?
rjzwgtxy1#
您的窗口可以使用DBT_DEVICEARRIVAL事件侦听WM_DEVICECHANGE messages,但该数据可能有用,也可能没有用。
DBT_DEVICEARRIVAL
idfiyjo82#
Windows运行时API提供了一个设备监视器:Windows Runtime API Windows.Devices.Enumeration DeviceInformation CreateWatcher。当添加、更新或删除设备时,观察器发送事件。最方便的方法是使用AQS过滤器变体和MidiInPort::GetDeviceSelector或MidiOutPort::GetDeviceSelector中的选择器。提供的ID用于使用MidiInPort和MidiOutPort::FromIdAsync打开设备。
2条答案
按热度按时间rjzwgtxy1#
您的窗口可以使用
DBT_DEVICEARRIVAL
事件侦听WM_DEVICECHANGE messages,但该数据可能有用,也可能没有用。idfiyjo82#
Windows运行时API提供了一个设备监视器:Windows Runtime API Windows.Devices.Enumeration DeviceInformation CreateWatcher。当添加、更新或删除设备时,观察器发送事件。
最方便的方法是使用AQS过滤器变体和MidiInPort::GetDeviceSelector或MidiOutPort::GetDeviceSelector中的选择器。
提供的ID用于使用MidiInPort和MidiOutPort::FromIdAsync打开设备。