更新记录

v1.0.2025.04.09(2025-04-09)

1、第一次发布。


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.34,Android:4.4,iOS:不支持,HarmonyNext:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

插件使用说明:

一、使用简介

Android直接连接midi设备,提供双向通信,接受midi设备向Android设备发送消息,同时Android可以主动跟midi设备发送消息。
支持定制,联系QQ:1804945430,微信:18980392735 请备注来源

二、调用范例


<template>
    <view>
        <page-head :title="title"></page-head>
        <view class="uni-padding-wrap uni-common-mt">
            <button type="primary" @click="checkUsbDevice_uts">检查USB设备</button>
            <button type="primary" @click="connect_uts">连接Midi设备</button>
            <button type="primary" @click="disconnect_uts">断开连接</button>
            <button type="primary" @click="suspendMidiDevices_uts">暂停</button>
            <button type="primary" @click="resumeMidiDevices_uts">恢复</button>
            <button type="primary" @click="sendMidiOn_uts">按下</button>
            <button type="primary" @click="sendMidi_uts">抬起</button>
            <button type="primary" @click="sendMidi2_uts">节拍器开</button>
            <button type="primary" @click="sendMidi3_uts">节拍器关</button>
            <button type="primary" @click="sendMidiFile_uts">发送midi文件</button>
        </view>
    </view>

</template>

<script>
    // #ifdef APP
    import {
        checkUsbDevice,
        disconnect,
        connect,
        suspendMidiDevices,
        resumeMidiDevices,
        sendMidiNoteOn,
        sendMidiNoteOff,
        sendMidiSystemExclusive,
        sendMidiFile,
        PS_ON,
        PS_OFF
    } from '@/uni_modules/uts-midi'
    // #endif
    export default {

        data() {
            return {
                title: "Midi uts插件 久等了哈哈哈"
            }
        },
        methods: {
            connect_uts() {
                connect({
                    connectCallback: (ret) => {
                        //连接时报错或者连接成功后的回调在这里
                        console.log('连接状态', ret)
                        uni.showToast({
                            icon: 'none',
                            title: ret
                        })
                    },
                    dataCallback: (data) => {
                        //接收数据回调在这里
                        console.log('数据回调', data)
                        uni.showToast({
                            icon: 'none',
                            title: data
                        })
                    }
                })
            },
            checkUsbDevice_uts() {
                checkUsbDevice((ret) => {
                    //连接时报错或者连接成功后的回调在这里
                    console.log('检查USB设备', ret)
                    uni.showToast({
                        icon: 'none',
                        title: ret
                    })
                })
            },
            disconnect_uts() {
                disconnect((ret) => {
                    //回调在这里,未连接时也可以重复调用
                    console.log(ret)
                    uni.showToast({
                        icon: 'none',
                        title: ret
                    })
                })
            },
            suspendMidiDevices_uts() {
                suspendMidiDevices()
            },
            resumeMidiDevices_uts() {
                resumeMidiDevices()
            },
            sendMidi_uts() {
                //参考收到的消息
                sendMidiNoteOff({
                    cable: 0,
                    channel: 0,
                    note: 79,
                    velocity: 70,
                    result: (ret) => {
                        //调用结果在这里
                        console.log(ret)
                        uni.showToast({
                            icon: 'none',
                            title: ret
                        })
                    }
                })
            },
            sendMidiOn_uts() {
                //参考收到的消息
                sendMidiNoteOn({
                    cable: 0,
                    channel: 0,
                    note: 79,
                    velocity: 70,
                    result: (ret) => {
                        //调用结果在这里
                        console.log(ret)
                        uni.showToast({
                            icon: 'none',
                            title: ret
                        })
                    }
                })
            },
            sendMidi2_uts() {
                sendMidiSystemExclusive({
                    cable: 0xF0,
                    systemExclusive: 'F000676574200903010000F7',
                    result: (ret) => {
                        //调用结果在这里
                        console.log(ret)
                        uni.showToast({
                            icon: 'none',
                            title: ret
                        })
                    }
                })
            },
            sendMidi3_uts() {
                sendMidiSystemExclusive({
                    cable: 0xF0,
                    systemExclusive: 'F000676574200903000000F7',
                    result: (ret) => {
                        //调用结果在这里
                        console.log(ret)
                        uni.showToast({
                            icon: 'none',
                            title: ret
                        })
                    }
                })
            },
            sendMidiFile_uts() {
                sendMidiFile({
                    filePath: '/storage/emulated/0/测试midi文件/test.midi', //midi范例文件地址
                    result: (ret) => {
                        //调用结果在这里
                        console.log(ret)
                        uni.showToast({
                            icon: 'none',
                            title: ret
                        })
                    }
                })
            }
        }
    }
</script>

<style>
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-feature android:name="android.hardware.usb.host" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问