使用 javax.sound.midi 包设置乐器通道

2024-03-30

我在 javax.sound.midi 包中设置乐器时遇到问题。

Synthesizer synthesizer = MidiSystem.getSynthesizer();
MidiChannel[] channels = synthesizer.getChannels();

channels[0].programChange(5);
System.out.println(channels[0].getProgram());

来自文档 http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/MidiChannel.html在 MidiChannel 上,调用 Channels[0].programChange(int) 应更改 MidiChannel 设置的乐器并立即反映在 Channels[0].getProgram() 中。然而我的程序打印“0”,表明没有任何改变。

稍后在代码中,我使用 MidiChannel.getSequencer() 成功播放 midi 声音(尽管仅使用默认乐器。)

我是否会尝试以错误的方式设置仪器?


我遇到了和你一样的问题,尽管我们没有使用完全相同的实现来使 MIDI 消息随意查看我的问题,因为它可能对你有用:

在播放期间更改 Java 中的乐器 https://stackoverflow.com/questions/4771129/changing-instrument-during-track-playback-midi-java

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 javax.sound.midi 包设置乐器通道 的相关文章

随机推荐

  • 为什么 false == "false" 是假的?

    我仍在学习 javaScript 的基础知识 我不明白为什么会发生这种情况 有类型强制false false 将转换为 false false true or false false true So why false false 是假的吗
  • JQMIGRATE:jQuery.fn.attr('selected') 可以使用属性而不是属性

    operatordelivery attr checked true 您好 我目前正在将 jQuery 版本迁移到 jQuery 2 1 1 我可以在控制台中看到警告JQMIGRATE jQuery fn attr selected may
  • 使用 Jsoup 提取 Span 标签数据

    我正在尝试使用 Jsoup 提取 html 中的特定内容 下面是示例 html 内容 div class shop section line bmargin10 tmargin10 div class price section fksk
  • Android 无法禁用剪切复制粘贴

    我无法禁用复制粘贴选项 在三星 Galaxy S2 上 如果我单击编辑文本 则会出现一个箭头 单击该箭头时 所有选项都会出现 onCreateContextMenu 尚未被调用 在 onUserInteration 中 我只是使用 setT
  • 如何在 gtk2hs 中的事件处理程序之间传递状态

    我正在尝试制作一个玩具应用程序 只是为了了解如何在 Haskell 中编写事件驱动程序 我想做的是在画布上画一条线 每次按下按键时该线都会向前移动 所以它有点像文本编辑器中的原始光标 我的问题是我无法找出计算用户按键次数的最佳方法 显然我不
  • Git 合并,不包括从一个分支到另一个分支的提交

    在开发过程中 我经常需要提交和推送 中间 提交 即提交代码不可编译或正在更改某些内容等 我不想进行此类提交 但这是轻松继续我的工作所必需的从办公室到家里 有时其他开发人员可以为他们提供开始工作的基础 我以为我已经找到了解决这个问题的方法 我
  • SQL 查询获取给定邮政编码 20 英里半径内的所有邮政编码(地址)

    我的查询仅匹配彼此相同的邮政编码 我需要一个查询 可以返回给定邮政编码 20 英里半径内的所有邮政编码 DECLARE cZip VARCHAR 5 SET cZip 63026 DECLARE dMin DECIMAL 20 32186
  • 如何编写参数化sql查询来防止SQL注入?

    当我尝试搜索带有主题标签的术语时 我最初发现这是一个问题 结果发现它是 SQL 中的注释分隔符 搜索没有返回任何结果 因为它忽略了主题标签后面的 term 所以现在我很难找到转义用户输入的正确方法 在我看来 这既可以解决主题标签问题 也可以
  • 需要对这个反复出现的问题有一些了解,ANR keyDispatchingTimedOut

    我有一个应用程序在一个特定组件中不断出现 ANR 但我无法弄清楚是什么占用了 cpu 时间 最近我遇到了两种 ANR 一种是本机的 另一种是等待的 DALVIK THREADS main prio 5 tid 1 NATIVE group
  • 如何获取 Mesos Agents Framework 执行器内存

    在 Mesos Web UI 内部 我可以在表中查看 Spark 执行器的内存使用情况 Agents gt Framework gt Executors 有一个表列出了我的 Spark 驱动程序的所有执行程序 它们的内存使用情况在列中指示M
  • 如何用Java读取PGM图像?

    我觉得我在这里错过了一些简单的东西 像往常一样 我正在尝试使用 Java 读取 PGM 图像 Matlab 做得很好 在 Matlab 中输出图像像素 例如 一个小的 32x32 图像 给我这样的结果 1 0 11 49 94 118 11
  • 如何在 scala 中生成案例类参数的值

    我有一个包含 250 个字段的案例类 case class Data field1 String field2 Int 有没有办法使用 scala check 为其参数生成值 我看过的不相关问题 如何使用宏为 Scala 案例类中的每个字段
  • ViewModel 中的 Thread.CurrentThread.CurrentUICulture 与 Accept-Language

    全球化 提出这个问题的原因是为了更好地理解如何Thread CurrentThread CurrentUICulture与 ViewModel 和控制器中的属性和错误消息相关的工作 我已经设置了我的项目并覆盖OnActionExecutin
  • 使用 PuTTY 的 tail -f 挂起

    我正在使用 PuTTY 命令行连接到服务器并跟踪日志文件 在本地计算机上 我创建了一个文件 tail exec 其中包含以下文本 tail f var log test log 我通过命令行启动腻子 putty ssh t pw m tai
  • MongoDB:如何进行文本搜索并按日期排序

    上下文 我有一个 MongoDB 里面有大量电子邮件 我想搜索包含以下任意字段中给定电子邮件地址的所有电子邮件 收件人 发件人 抄送 和 密件抄送 结果需要按日期字段排序 我们目前正在尝试以下查询 db collection find te
  • 行高向上舍入

    chrome 似乎将计算的值向下舍入line height 例如 line height 1 33 with font size 11px将计算出line height 14px 而确切的值是14 66所以我希望行高等于 15px 您知道是
  • AngularJS ng-value 布尔验证

    具体来说 我有两个单选按钮 它们的 ng model 值必须是布尔值 由于这对于正常的 html value 属性是不可能的 我发现有用的 Angularjs ng value 问题是当我想做一些验证时 当选择单选按钮 ng value f
  • Solr“实时”索引

    我知道有几个与此类似的问题 但它们没有为当前的问题提供简单的答案 抱歉 如果您觉得这是重复的 但我认为清晰易懂的答案将使很多人受益 那么 对于这个问题 Solr 索引更新可以自动化吗 如果可以的话 最佳方法是什么 这是一个简单的用例来澄清问
  • 使用 Powershell 将 PDF 打印为 XPS

    我想使用 Powershell 将包含 PDF 文件的文件夹转换为 XPS 文件 由于系统限制 我无法下载任何第三方软件 例如 iTextSharp 来完成此工作 我已经能够让Powershell打开文档并打开XPS的打印窗口 但名称始终为
  • 使用 javax.sound.midi 包设置乐器通道

    我在 javax sound midi 包中设置乐器时遇到问题 Synthesizer synthesizer MidiSystem getSynthesizer MidiChannel channels synthesizer getCh