如何在应用程序中使用 cordova 插件

how to use cordova plugin in app

我正在开发一个用于读取 android 中的 mp3 元数据的 cordova 插件,我已经在我的应用程序中安装了该插件,但是当我尝试调用 cordova.exec 插件时,出现控制台错误那就是 "MediaMeta is not defined"。 我的插件在这里:https://github.com/stlouisweb/mediaMetadata 在我的应用程序中,我尝试在此处访问它:

function getMetaData(fullpath) {
document.addEventListener("deviceready", function () {
    var fullpath = fullpath;
    var success = function(trackinfo)
    {
       // result = JSON.stringify(result);
        console.log(trackinfo);
       // data.push(JSON.parse(result));
    };
    var error = function(message) { alert("Metadata received unsuccessfully: " + message); };
    MediaMeta.createEvent(fullpath, success, error);

})

}

尝试像这样更新 plugin.xml

更改:

<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
    id="com.stlouisweb.mediametadata"
    version="0.1.0">

收件人:

<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="com.stlouisweb.mediametadata"
    version="0.1.0">

原因是 Cordova 要修改 Android 配置,这个 XML 需要为其命名空间。

这是对 clobber 问题的回应

<js-module src="www/mediaMetadata.js" name="MediaMetadata">
    <clobbers target="window.Media" />
</js-module>

<js-module src="www/mediaMetadata.js" name="MediaMetadata">
    <clobbers target="cordova.plugins.media" />
</js-module>

并更改您的文档、示例等以使用 cordova.plugins.media