Android 上的 MIDI:Java 和/或 AIR 库

2024-05-23

一段时间以来,我一直在考虑在 iPad 上(重新)构建一个应用程序,其中我将使用 Objective-C 和DSMI http://dsmi.tobw.net/将 MIDI 信号发送到主机。这还不错(我的意思是,除了实际编写应用程序之外)。

现在我正在考虑开发适用于 Android 平板电脑的应用程序(待定)。

在 Java 中,有哪些选项可用于 MIDI 消息通信?我对 javax.sound.midi 非常熟悉,但是我需要一个虚拟 MIDI 端口来向主机发送消息。

另一方面,如果该应用程序是在 Adob​​e AIR 中完成的,我可以使用哪些选项用于与 MIDI 通信?

显然,另一种选择是通过 TCP/IP 套接字向 Java 主机发送/接收消息,并以这种方式进行通信,但这听起来有点麻烦......或者也许不是?毕竟,DSMI 确实使用主机程序。


javax.sound.midi 在 Android 中不可用。

android 中唯一访问 midi 功能的方法是通过 JetPlayer 类,它的设计非常适合在游戏中使用。 Android 将播放 midi 文件,但不清楚它使用什么代码路径,无法从内存写入 midi 硬件。

在我制作的一个应用程序中,我需要根据 GUI/用户交互动态地演奏音符,最终不得不使用样本和音高过滤器来创建音符。

在我看来,你需要做的就是将 DSMI 移植到 android,它开源 http://code.google.com/p/dsmi/iPhone 库看起来很简单,移植应该不难。

EDIT:

考虑一下这一点之后,无论如何,使用 javax.sound.midi 或 AIR 中存在的任何 midi 功能都不会获得任何好处。您需要做的就是通过网络链接将 MIDI 消息传递到另一个负责与实际 MIDI 合成器设备通信的设备。这正是 DSMI 所做的。将 iPhone libdsmi 移植到 Android 就是您需要做的,它只有 2 个源文件和 2 个标头。 1 处理非常简单的 MIDI 消息格式,几乎可以逐行转换为 java,另一个处理与 DSMI 服务器的网络连接,需要重写以使用 Android 语义来创建网络连接。

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

Android 上的 MIDI:Java 和/或 AIR 库 的相关文章

随机推荐