相关疑难解决方法(0)

Android 6.0(Marshmallow):如何播放midi笔记?

我正在创建一个可以生成实时乐器声音的应用程序,我正计划使用Android Marshmallow(6.0版)中的新Midi API.我在这里阅读了软件包概述文档http://developer.android.com/reference/android/media/midi/package-summary.html,我知道如何生成Midi笔记,但我仍然不确定:我该怎么做在我生成他们的Midi数据后实际播放这些音符?

我需要合成器程序才能播放Midi音符吗?如果是这样,我是否必须自己制作或者是由Android或第三方提供的?

我是Midi的新手所以请尽量用你的答案描述.

到目前为止尝试过:我创建了一个Midi管理器对象并打开了一个输入端口

MidiManager m = (MidiManager)context.getSystemService(Context.MIDI_SERVICE); 
MidiInputPort inputPort = device.openInputPort(index);
Run Code Online (Sandbox Code Playgroud)

然后,我已经向端口发送了测试noteOn midi消息

byte[] buffer = new byte[32];
int numBytes = 0;
int channel = 3; // MIDI channels 1-16 are encoded as 0-15.
buffer[numBytes++] = (byte)(0x90 + (channel - 1)); // note on
buffer[numBytes++] = (byte)60; // pitch is middle C
buffer[numBytes++] = (byte)127; // max velocity
int offset = 0;
// post is non-blocking
inputPort.send(buffer, offset, numBytes);
Run Code Online (Sandbox Code Playgroud)

我还设置了一个课程来接收midi音符信息

class MyReceiver …
Run Code Online (Sandbox Code Playgroud)

java audio midi android android-6.0-marshmallow

16
推荐指数
2
解决办法
9719
查看次数

如何将自定义DLS或SoundFonts加载到Android MIDI

我有一个通过SONiVOX EAS库播放MIDI文件的应用程序.是否可以将自己的DLS或SoundFont波表加载到播放器中并让库使用这些声音进行MIDI播放?

midi android soundfont

5
推荐指数
1
解决办法
3050
查看次数

标签 统计

android ×2

midi ×2

android-6.0-marshmallow ×1

audio ×1

java ×1

soundfont ×1