我找到了 this cordova module ,虽然没有使用说明?
写作
MusicPlayer.init(
function (msg) {
console.log("audio completed"+ msg);
},
// error callback
function (e) {
console.log("Error getting message=" + e);
}
);
返回 无法加载主模块:ReferenceError:MusicPlayer 未定义
模块是像module.exports = new MusicPlayer();
这样导出的,那么调用它的方式就是它自己吗?
试了一下,window.cordova.plugins.Musicplay.init();
也报了同样的错误。
调用此模块并在 cordova 中使用的正确方法是什么?
编辑 - 这就是函数的定义方式
var exec = require('cordova/exec');
function MusicPlayer() {}
MusicPlayer.prototype.init = function(successCallback, errorCallback, json) {
exec(successCallback, errorCallback, "MusicPlayer", "init", [json]);
};
MusicPlayer.prototype.getMusicList = function(successCallback, errorCallback, json) {
exec(successCallback, errorCallback, "MusicPlayer", "getMusicList", [json]);
};
..
..
module.exports = new MusicPlayer();
最佳答案
检查clobbers目标:https://github.com/jasminpethani/cordova-plugin-musicplayer/blob/master/com.srini.musicplayer/plugin.xml#L14-L16
<js-module src="www/musicplayer.js" name="musicplayer">
<clobbers target="musicplayer" />
</js-module>
所以实例名应该是musicplayer
musicplayer.init(function (msg) {
console.log("audio completed"+ msg);
},
// error callback
function (e) {
console.log("Error getting message=" + e);
});
提示:
- 运行
$ cordova plugin list
时确保MusicPlayer
插件存在于列表中> 确保在内部调用
musicplayer.init
:document.addEventListener("deviceready", function(){/**/}
关于javascript - 调用 Cordova 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46864858/