我正在用Java編寫程序將與音樂輸入有關。我想用我的電腦鍵盤作爲樂器。非常喜歡它,就像我玩的按鈕手風琴一樣。我會通過2個八度開始在鍵和音符之間進行映射。我正在考慮按時間排定按鍵的時間是什麼樣的設計。我使用JFugue框架根據播放的內容生成音樂串,然後可以輕鬆導出爲MIDI。爲了生成這些字符串,我將不得不測量多少音調被按下,然後給它一些音符長度。這個關於音符長度的信息也被附加到字符串中。如果你認爲我甚至不需要這個,請讓我知道,因爲我是Java初學者。KeyListener和計時
0
A
回答
0
您可以實施KeyListener
並依靠兩個keyPressed
和keyReleased
方法來記錄您的筆記。
您的KeyListener
實現將需要維護狀態,可能是Map
的VK_
代碼 - >事件時間。您可以使用開始時間在keyPressed
處理中填充地圖,通過其getKeyCode()
識別KeyEvent
中的密鑰。您可以通過使用密鑰代碼將開始時間拉出地圖,然後通過keyReleased
事件觸發筆記的持續時間。
如果你還沒有找到它,here is Sun's tutorial on KeyListeners
相關問題
- 1. MouseListener和KeyListener同時使用
- 2. Java KeyEvent和KeyListener
- 3. KeyListener和keyPressed
- 4. JPasswordField和KeyListener
- 5. keylistener和JMenuBar問題
- 6. KeyListener只有時有效
- 7. keyListener和線程不工作
- 8. Java圖形2D和KeyListener
- 9. Java類擴展Applet和Keylistener?
- 10. 使用android listview和keylistener
- 11. 正在同步HttpURLConnection和KeyListener:
- 12. 在NetBeans中爲計算器使用KeyListener
- 13. 與keyListener
- 14. KeyListener類
- 15. 我不能在同一時間使用ActionListener和KeyListener
- 16. KeyListener不工作?
- 17. Java Swing - KeyListener
- 18. Java Jbutton KeyListener
- 19. java keylistener not called
- 20. KeyListener不工作
- 21. Java KeyListener口吃
- 22. Java中的KeyListener
- 23. KeyListener in Objective-c
- 24. KeyListener問題
- 25. 問題keylistener
- 26. Java JTextArea KeyListener
- 27. KeyListener來源
- 28. Java KeyListener控件
- 29. JScrollBar,刪除keyListener?
- 30. 製作KeyListener?
嘿,我設法編寫一些代碼。到目前爲止它是好的。我設置了節奏,節奏並給JFugue播放器播放它必須播放的字符串序列。如果我打開節拍器並以同樣的速度播放,我會發送給播放器,但它確實對音調長度進行了採樣。但是......但是......我對KeyEvents沒什麼問題。如果我長時間按下某個鍵,它會生成一個KeyEvent,而不是等待一段時間,然後開始生成許多相同的KeyEvent。這種行爲可能是由操作系統造成的。如果我按住這個鍵,它開始打字的速度非常快......做什麼... – Zec 2009-10-25 17:31:49
這聽起來與操作系統相關。重複的'KeyEvent'動作是否都來自'keyPressed' /'keyReleased'對,還是隻是重複'keyPressed'?如果後者,你有希望。您可以測試您的密鑰開始時間的集合是否已經有相關密鑰的條目,如果是,請不要覆蓋作爲該值保存的開始時間。 – akf 2009-10-26 18:09:55