下载测试库

uniplugin_midi-debug-0.5.1.aar

引入插件

var midiModule = uni.requireNativePlugin("MidiModule")

一、扫码蓝牙设备

midiModule.gotoDeviceScanPage();

可启动如下界面,点击配对

1041714150464_.pic.jpg

二、打开设备

midiModule.openMidiDevice(JSON.stringify(opt), (data) => {
	uni.showModal({
		content: JSON.stringify(data),
		showCancel: false
	});
});

三、发送MIDI数据到设备

let opt = {
    channel: 0,
    pitch: 48,
    velocity: 64
}
midiModule.noteOn(JSON.stringify(opt), (ret) => {
    setTimeout(() => {
        midiModule.noteOff(JSON.stringify(opt), (data) => {
            uni.showModal({
                content: JSON.stringify(data),
                showCancel: false
            });
        })
    }, 2000)
})

四、接收设备MIDI数据

4.1 监听事件

var _onReceive = (data) => {
  uni.showModal({
    content: JSON.stringify(data),
    showCancel: false,
  })
}

export default {
  onLoad() {
    //监听midi输入事件
    plus.globalEvent.addEventListener('MidiOutputEvent', function (e) {
      console.log('MidiOutputEvent' + JSON.stringify(e))
      _onReceive(e)
    })
  },
}

4.2 发起调用

midiModule.listenMidiOutput({},(data)=>{
					
});