我正在使用基於C++的MIDI發送應用程序,這是我第一次使用MIDI。Rtmidi開放端口?
我選擇了RtMidi庫,因爲它似乎是最完整的庫,但我願意提供建議。
我正在使用的操作系統是Windows 7,我安裝了USB-MID接口並且與其他程序(即Roland UM-One)一起工作。
現在我可能會偏離軌道,但我希望當您搜索端口時,它應該顯示此設備。
編譯RtMidi的示例代碼時,我沒有獲得端口;進入或退出。
我錯過了什麼? 我需要打開一個虛擬端口嗎?
我正在使用基於C++的MIDI發送應用程序,這是我第一次使用MIDI。Rtmidi開放端口?
我選擇了RtMidi庫,因爲它似乎是最完整的庫,但我願意提供建議。
我正在使用的操作系統是Windows 7,我安裝了USB-MID接口並且與其他程序(即Roland UM-One)一起工作。
現在我可能會偏離軌道,但我希望當您搜索端口時,它應該顯示此設備。
編譯RtMidi的示例代碼時,我沒有獲得端口;進入或退出。
我錯過了什麼? 我需要打開一個虛擬端口嗎?
我已經和RtMidi一起簡短地工作過,正如你所說,它是一個相當完整的庫。但是,使用MIDI設備時,必須考慮這類設備的具體問題。
另一件事是便宜的USB-MIDI適配器往往只是因爲「僅僅因爲」而拒絕使用某些應用程序。它們非常簡單,但顯然中國製造商仍然能夠製造出故障的設備。
如果您使用的是未經修改的示例代碼,並且未顯示您的設備,我會首先確保所有可能正在使用它的其他應用都已關閉,然後重試。創建虛擬接口也是一個不錯的主意,我個人使用免費的LoopBe1。如果它會顯示虛擬的,但不是真實的界面,那麼問題出在設備本身上。在這種情況下,您可能需要嘗試不同的驅動程序,或者將其插入不同的端口。
如果它沒有顯示任何設備,既不是真實的也不是虛擬的,那麼我強烈懷疑您構建/運行應用程序的方式有問題。
這也爲其他遇到類似的問題還有: -
當我使用RtMIDI,如果不指定(OSX上至少)宏爲目標定義系統第一次啓動時,例如代碼默認使用虛擬MIDI設備,並且這將沒有MIDI端口。
有一次,我指定MAC_OSX_CORE,則RtMIDI使用正確的體系結構,並如預期回到我的系統上的MIDI設備。也許你需要做的爲您的系統類似的東西 - 檢查「編譯」下的文檔:
http://www.music.mcgill.ca/~gary/rtmidi/index.html#compiling
感謝您的建議我能追查到IDE我在 編譯接頭爲有點煩人 謝謝 – user3248657