uniapp调用java接口部分
文档详情 www.html5plus.org/doc/zh_cn/a…
2.调用案例
//实例化java 安卓 MediaMetadataRetriever对象
const retriever = plus.android.newObject("android.media.MediaMetadataRetriever");
// 实例化java File对象 传入文件地址
let mp3Obj: any = plus.android.newObject("java.io.File", path + "/text.mp3");
// 调用java.io.File模块下getAbsolutePath()方法获取其绝对地址 详情参考java文档
const mp3Path = plus.android.invoke(mp3Obj, "getAbsolutePath");
//为MediaMetadataRetriever设置文件路径
plus.android.invoke(retriever, "setDataSource", mp3Path);
//调用MediaMetadataRetriever下的extractMetadata
//retriever.plusGetAttribute("METADATA_KEY_DURATION")为获取retriever静态属性
//静态属性java返回为int ts获取为number 在extractMetadata下获取歌曲的持续时间
const res = plus.android.invoke(
retriever,
"extractMetadata",
retriever.plusGetAttribute("METADATA_KEY_DURATION")
);
console.log(res);
``
METADATA_KEY_ALBUM 获取专辑
METADATA_KEY_ALBUMARTIST 获取作者
METADATA_KEY_DURATION 获取时长 单位为毫秒
METADATA_KEY_MIMETYPE 获取MIME 类型的元数据键
METADATA_KEY_TITLE 获取歌曲名称