我最近用HeadFirstJava中的代码实现了一个MIDIBeatbox,并且真的很想用Java的MIDI功能做更多的事情。我想我可以从向现有代码添加更多非打击乐器开始,但我似乎无法找到可用乐器及其int键的简单列表。JDK附带的Soundbank是否存在这样的列表? 最佳答案 像这样运动吗?importjavax.sound.midi.*;importjavax.swing.*;classInstruments{publicstaticvoidmain(String[]args)throwsMidiUnavailableExce
我将spring.jar文件放在我的lib文件夹中,但仍然存在类似错误atorg.apache.jsp.index_jsp._jspInit(index_jsp.java:23)atorg.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)atorg.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)atorg.apache.jasper.servlet.JspServletWrapper.service(JspS
我正在使用asm库执行一些Java字节码修改-特别是修改我的类以实现新接口(interface)和相关方法。我当前的方法是通过javaagent使用核心asmAPI。我想保留这种动态方法,而不是静态修改.class文件。在更高层次上,我的问题是,如果我选择修改从B扩展的类A,我还需要修改B。(根据我对类在JVM中加载方式的理解,我相信类B将始终在A类之前交给变压器。(如果我错了,请纠正我)。鉴于该假设,我认为我需要返回并重新转换B。我的方法在这段代码中被捕获:publicbyte[]transform(ClassLoaderl,Stringname,Classclazz,Protect
我继承了一个使用anoldC++dlltoreceiveMIDIdata的Java项目从连接到计算机的钢琴。现在Java已经内置了对MIDI设备的支持,我想摆脱遗留的C++dll,只使用纯Java。Java是否支持从连接到计算机的钢琴接收数据?我已在Google上搜索示例但无济于事。 最佳答案 如果您只想使用Java(javax.sound.midi.*)的MIDIapi进行录音,这很容易完成。这不是复制和粘贴的代码,但它应该可以帮助您开始编写自己的MIDI录音机,这实际上很容易。第一步是定义输入和输出MidiDevice。因此,首
读取具有多个轨道的MIDI文件(按时间顺序)的最佳方法是什么?(Java)注意:我不想播放MIDI文件,只是阅读消息。一些想法:假设没有短于1/64音符的音符事件是否安全?或者我应该访问每个轨道并且只在所有其他滴答声轨道之后移动到下一个滴答声假设没有短于1/64音符的MIDI事件,并将当前位置节拍计数移动该固定增量。访问每个轨道并前进到下一个最早的刻度 最佳答案 JFugue可以读取MIDI文件并按时间顺序对消息进行排序。结果可以读作JFugueMusicStrings(例如,升C调、第5个Octave音阶、全音符="C#5w"),
我正在使用Java编写算法实现。在OSX10.7之前,我使用SharkProfiler来分析我的实现,效果相当好。但是,新的Instruments不再找到过程名称。我已经尝试使用shark的VM参数(即-agentlib:Shark)运行java应用程序,但是10.7不知道它们,而且我找不到这样的仪器agentlib。关于如何将过程名称附加到Insturments中的符号名称(这是一些十六进制数字)的任何想法?我正在使用EclipseIndigo,如果这有什么不同的话。谢谢!编辑:到目前为止,OSXMountainLion没有任何变化。编辑#2:来自(?)开发人员通过apple的错误报
这个简单的代码在我用来测试它的几台机器上没有产生任何声音。我从Eclipse中运行代码,但我也尝试使用命令行无济于事。publicstaticvoidmain(String[]args){try{Synthesizersynthesizer=MidiSystem.getSynthesizer();synthesizer.open();MidiChannel[]channels=synthesizer.getChannels();channels[0].noteOn(60,60);Thread.sleep(200);channels[0].noteOff(60);synthesizer.
我似乎无法改变乐器。我切换了仪器的值,但输出没有任何不同。无论我尝试什么值(value),我都只能得到一个钢琴乐器来演奏。这是下面的简单代码。有没有人有什么建议?还是我缺少仪器对象的基础知识?importjavax.sound.midi.*;//importjavax.sound.*;publicclassDrum{staticintinstrument=45;staticintnote=100;staticinttimbre=0;staticintforce=100;publicstaticvoidmain(String[]args){Synthesizersynth=null;tr
我已经使用Pygame模块制作了一些小游戏,这很有趣。但是,现在我正在尝试使用pygame.midi通过MIDI通过钢琴移动角色。有问题。我做到了,但没有以我想要的方式,因为角色有时会移动,而其他人则没有。我想我知道问题在哪里:如果我正确理解的话,pygame.event.get()函数“捕获”事件总是无关紧要的我的代码不会发生,我的意思是,我相信玩家并不总是会做应该做的事情,因为MIDI输入必须在特定的“时间”中,而不是pygame.event.get()。我查看了pygame文档,似乎有一个功能可以解决问题:pygame.midi.midis2events(),但我不知道如何使用它。钢琴通
我正在制作一款游戏,我正在使用midi文件作为背景音乐。这是我目前使用的代码:voidGame::play_music(){//Startthemusic:if(map.levelnumber%2==0){mciSendString(L"openMUSIC01.MIDtypesequenceraliasMusic1",NULL,0,NULL);mciSendString(L"playMusic1",NULL,0,NULL);playing="Music1";}else{mciSendString(L"openMUSIC02.MIDtypesequenceraliasMusic2",NU