uniapp plus调用原生安卓 音频笔记

262 阅读1分钟

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 获取歌曲名称