从 React Native 为 Node.js 使用 easymidi

Posted

技术标签:

【中文标题】从 React Native 为 Node.js 使用 easymidi【英文标题】:Use easymidi for Node.js from React Native 【发布时间】:2021-04-16 15:48:57 【问题描述】:

我有一个 React Native 应用程序,在后端我使用 Node.js。

其实我在 node.js 中有这个

const easymidi = require('easymidi');
const output = new easymidi.Output('Mindy', true);

function playSound(req, res) 
    console.log('play sound ....');

    const sendNote = (noteValue, duration) => 
        output.send('noteon', noteValue);

        setTimeout(() => 
            output.send('noteoff', noteValue);
        , duration);
    

    setInterval(() => 
        const noteValue = 
            note: 12 * 4,
            velocity: 127,
            channel: 1
        
        sendNote(noteValue, 500);
    , 1000);

    res.status(200).send( message: 'play sound' );

如果我打电话给playSound,我必须运行合成器才能重现声音。

有没有办法从 React Native 应用程序调用 playSound 并在移动设备上播放这个声音?

【问题讨论】:

【参考方案1】:

easymidi (https://www.npmjs.com/package/easymidi) 基于 node-midi (https://www.npmjs.com/package/midi) 构建,仅适用于 OSX/Windows/Linux。 不太可能让它在移动设备上运行。 您可能想尝试一些浏览器内的 MIDI 库:https://www.npmjs.com/search?q=keywords%3Amidi&ranking=popularity

【讨论】:

以上是关于从 React Native 为 Node.js 使用 easymidi的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何开始使用react-native和Node.js?

React-Native - 使用依赖于 node.js 核心模块的 Javascript 模块

无法在 Node.JS 和 React-Native (Socket.IO) 之间建立连接

React-native node.js 显示错误:多部分:使用 react-native-image-picker 上传图像时未找到边界

Node.js + React Native 毕设:农业物联网监测系统的开发手记

结合 Nodejs + React Native + Axios + CORS