我正在开发一个用于在android中读取mp3元数据的cordova插件,我已经在我的应用程序中安装了该插件但是当我尝试调用cordova.exec插件时,我收到一个控制台错误,上面写着“MediaMeta未定义” 。 我的插件就在这里: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);
})
}
答案 0 :(得分:1)
尝试像这样更新plugin.xml
:
CHANGE:
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
id="com.stlouisweb.mediametadata"
version="0.1.0">
TO:
<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需要为它命名。
答案 1 :(得分:0)
这是对回答问题的回应
<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