Cordova 插件无法工作,未捕获的参考错误

问题描述 投票:0回答:1

我正在通过 Cordova 用 JS(使用 p5.js 库)制作一个简单的应用程序,我希望它发送 OSC 中的推子位置,以便从我的智能手机控制舞台灯光(这是免费的应用程序 - 比如 Adam 的 OSC 控制器) Katz-运行良好,但没有足够的参数和灵活性供我使用)。

所以我创建了我的项目,毫无困难地制作了图形(使用 p5.js),但我坚持使用 OSC 插件部分: 我安装了这个插件:text 与科尔多瓦:

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中使用?

好吧,你可能会明白我对这一切有点迷失......

javascript android cordova plugins osc
1个回答
0
投票

好的,明白了。

只是由于插件依赖cordova,所以必须等待设备准备好。因此,插件中的变量声明不能是“公共”的,它必须位于在“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] }); }

© www.soinside.com 2019 - 2024. All rights reserved.