安卓 6.0+ : No Sound Using the New MIDI API

标签 android midi

我正在使用new MIDI API为了播放一些 MIDI 音符。但是,我听不到任何声音,也没有抛出任何异常。其代码如下:

//initialising the MidiReceiver
private MidiReceiver midiReceiver;
midiReceiver = new MidiReceiver() {
    @Override
    public void onSend(byte[] msg, int offset, 
        int count, long timestamp) throws IOException {

    }
};

/*Then in my loop containing note_on or note_off events*/
byte[] buffer = new byte[32];
int numBytes = 0;
int channel = 2; // MIDI channels 1-16 are encoded as 0-15.               
// NOTE_STATUS is either 0x90 or 0x80
buffer[numBytes++] = (byte)(NOTE_STATUS + (channel - 1)); 
buffer[numBytes++] = (byte)noteValue; // the required MIDI pitch
buffer[numBytes++] = (byte)127; // max velocity
int offset = 0;
midiReceiver.send(buffer, offset, numBytes);

我在这里做错了什么?我想这一定是因为onSend方法是空的。如何使用它来让我的应用程序回放 Android 设备中的笔记?

最佳答案

我在 documentation 中找不到任何指示新的 MIDI API 实际上可以让您合成音频,因此,您似乎需要自己生成声音。

也许this library可能有用。

关于安卓 6.0+ : No Sound Using the New MIDI API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44003644/

相关文章:

swift - 使用AudioKit框架难以复制Ableton Push MIDI CC功能

java - oauth_consumer.properties 未找到社交身份验证 android

java - 来自 Fragment 的 Android 对话框

java - MIDI 乐器不适用于 javax.sound.midi.MidiChannel

java - equencer.startRecording() 没有立即开始? Java MIDI

javascript - 通过 javascript/jquery 从 midi Controller 读取输入

Android SDK 构建工具

android - 清除 Activity 返回堆栈

android - 如何在 FOSS 项目中处理 Android 的 APK 签名?

python - 用openai图表txt文件编码到midi转换器