android Cordova插件不工作,未捕获的引用错误

mw3dktmi  于 2023-10-14  发布在  Android
关注(0)|答案(1)|浏览(113)

我正在通过Cordova在JS中制作一个简单的应用程序(使用p5.js库),我希望它在OSC中发送推子位置,以便从我的智能手机控制舞台灯光(事情是免费的应用程序-如Adam Katz的OSC控制器-运行良好,但没有足够的参数和灵活性供我使用)。
所以我创建了我的项目,没有麻烦地制作了图形(使用p5.js),但我被OSC插件部分卡住了:我安装了这个plugin:text使用cordova:

cordova plugin add cordova-plugin-osc

在我的项目目录中。
但是当我试图使用这个插件的功能时(如示例中所述):

var port = 8000;
var osc = new OSC();

我从模拟设备检查员的控制台得到这个错误:

Uncaught ReferenceError: OSC is not defined
    at main.js:1

我首先尝试从我的/www/目录中的插件复制OSC.js文件,并在我的html文件中提到它。没有成功。
我验证了插件安装良好(我也试图安装在项目目录内,但项目内的/www/目录,但他告诉我插件已经安装).
我也试着在代码的开头要求它:var OSC = require ('OSC');但它似乎是一个nodejs函数,我可能不会在cordova中使用?
你可能会理解我有点迷失了...

cgvd09ve

cgvd09ve1#

好的知道了。
只是由于插件依赖于cordova,它必须等待设备准备就绪。因此,来自插件的变量声明不能是“public”,它必须在“deviceReady”状态之前不启动的函数中。
所以对我来说这样很好:

function oscFire() {
    var osc = new OSC();
    let SentValue = int(map(fader[CurrentFader], w / 15 * 2, w - w / 8, 0, 256));
    osc.send({
        remoteAddress: ip,
        remotePort: port,
        address: '/fader' + CurrentFader,
        arguments: [SentValue]
    });
}

相关问题