- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我不小心回答了这个问题,把事情搞砸了: MidiUnavailableException in Java?
所以,我又来问这个问题了。跟上面那个有关系。
我在尝试使用时遇到异常:
MidiSystem.getSequencer()
我的代码显示存在以下内容:
com.sun.media.sound.RealTimeSequencer@1ded0fd
我已经尝试了上一个问题中的所有建议。有谁知道如何解决这个问题?
我正在使用安装了所有当前更新的 jdk 1.6.0_25-b06 和 Ubuntu 11.04。我没有安装 JMF。音序器类已加载。我在 jre 下的音频目录中有 soundbank.gm。我试过启用和禁用 sound.properties 文件中的行。我已尝试重新启动计算机以确保没有其他应用程序正在使用声音系统。
我得到以下异常:
javax.sound.midi.MidiUnavailableException at
javax.sound.midi.MidiSystem.getDefaultDeviceWrapper(MidiSystem.java:1078) at
javax.sound.midi.MidiSystem.getReceiver(MidiSystem.java:240) at
javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:442) at
javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:348) at
playmidi.PlayMidi.main(PlayMidi.java:57) Caused by:
java.lang.IllegalArgumentException: Requested device not installed at
javax.sound.midi.MidiSystem.getDefaultDevice(MidiSystem.java:1130) at
javax.sound.midi.MidiSystem.getDefaultDeviceWrapper(MidiSystem.java:1076) ... 4 more
对我来说有趣的是其他应用程序(Banshee、RhythmBox 等)可以在我的机器上播放 midi 文件。我猜他们有自己的软件音序器(不确定)。
如有任何帮助,我们将不胜感激。谢谢!
最佳答案
让我们安装alsa-oss。你可以使用以“aoss”开头的命令运行你的程序,例如:
aoss java -jar XXX
如果你使用eclipse,你也可以用aoss运行它。比你的代码将工作正常。我刚刚为它创建了一个别名,用于符号链接(symbolic link):
alias eclipse='LIBOVERLAY_SCROLLBAR=0 aoss eclipse-indigo &'
(LIBOVERLAY_SCROLLBAR 是针对另一个错误的解决方案。jvm 2 或 3/10 小时出现了一些随机崩溃。)
另一种解决方案是,当您从存储库安装内置 java 时,它也可以正常工作
关于java - MidiUnavailableException 使用 MidiSystem.getSequencer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6501389/
我在用 Java 播放 MIDI 文件时遇到了一些问题。当我尝试播放它时,我得到的是 MidiUnavailableException(MIDI OUT 发射器不可用)。我的代码是标准的: try {
我不小心回答了这个问题,把事情搞砸了: MidiUnavailableException in Java? 所以,我又来问这个问题了。跟上面那个有关系。 我在尝试使用时遇到异常: MidiSystem
我是一名优秀的程序员,十分优秀!