标签 ID3 下的文章 - 空痕博客
首页
留言
友链
统计
更多
联系
搜 索
1
企鹅音乐歌单链接获取教程
35,828 阅读
2
网易云音乐歌单链接获取教程
22,100 阅读
3
空痕音乐下载器
21,992 阅读
4
酷我音乐歌单链接获取教程
11,863 阅读
5
酷狗歌单码获取
2,330 阅读
所有文章
源码
uniapp
机器人
原创APP
教程
登录
搜 索
标签搜索
KHMD
uniapp
APP
空痕音乐下载器
KongHen
机器人
QQ
音乐
音源
QQ音乐
UTS
ID3
KongHen02
累计撰写
13
篇文章
累计收到
128
条评论
首页
栏目
所有文章
源码
uniapp
机器人
原创APP
教程
页面
留言
友链
统计
更多
联系
用户登录
登录
找到
1
篇与
相关的结果
2024-04-29
UTS引用原生jar包进行原生插件开发
也是踩了很多坑。主要的坑有两个,一个是引入jar包的问题,另一个就是jar包的使用问题(这个还得看包的文档 :@(吐血倒地) )下载jar包我要用的是jaudiotagger包,引来实现对音乐标签信息的修改,包下载地址:https://central.sonatype.com/artifact/net.jthink/jaudiotagger/versions我用的是最新的3.0.1版本,下载图中这个创建插件下面是步骤:创建插件参考官方教程步骤,这个很详细地址:https://doc.dcloud.net.cn/uni-app-x/plugin/uts-plugin.html#%E5%88%9B%E5%BB%BAuts%E6%8F%92%E4%BB%B6引入jar包将你下载的jar包移动到libs目录下,如图导入包中的方法java导入的方法import org.jaudiotagger.audio.flac.FlacFile; import org.jaudiotagger.audio.generic.AudioFile; import org.jaudiotagger.audio.generic.AudioFileIO; import org.jaudiotagger.tag.FieldKey; import org.jaudiotagger.tag.Tag; import org.jaudiotagger.tag.images.Artwork;ts导入的方法import FlacFile from "org.jaudiotagger.audio.flac.FlacFile"; import AudioFile from "org.jaudiotagger.audio.generic.AudioFile"; import AudioFileIO from "org.jaudiotagger.audio.generic.AudioFileIO"; import FieldKey from "org.jaudiotagger.tag.FieldKey"; import Tag from "org.jaudiotagger.tag.Tag"; import Artwork from "org.jaudiotagger.tag.images.Artwork";就这样导入就可以了,在Hbuilderx中,有代码提示,也可以不自己导入,写完代码,点击代码提示,又自动修复功能,当然,自动修复导入的不完全正确。使用方法测试的时候要打包自定义基座进行测试使用的话,导入后就当ts方法写就行有些报错是编译器bug不用管 // 引入java文件类 import File from "java.io.File"; import Files from "java.nio.file.Files"; // 引入jaudiotagger包 import AudioFile from "org.jaudiotagger.audio.AudioFile"; import AudioFileIO from "org.jaudiotagger.audio.AudioFileIO"; // import from "org.jaudiotagger.tag"; import Tag from "org.jaudiotagger.tag.Tag"; import FieldKey from "org.jaudiotagger.tag.FieldKey"; // mp3封面相关 import StandardArtwork from "org.jaudiotagger.tag.images.StandardArtwork"; // falc封面相关 import FlacTag from "org.jaudiotagger.tag.flac.FlacTag"; import FileInputStream from "java.io.FileInputStream"; import PictureTypes from "org.jaudiotagger.tag.reference.PictureTypes"; /** * MusicInfo * 音乐信息类型 * */ type Tags = { audio: string; title: string; artist: string; album: string; cover: string; } export class KhMusicTag { /** * 私有变量 * tags 标签信息 * action 封面图片路径 * */ /** * writeMp3Tag * 写入mp3的封面图 * @param cover 封面图路径 * * @returns 返回写入结果 */ public writeMp3Tag(info: Tags): boolean { try { // 读取音频文件 const audioFile = AudioFileIO.read(new File(info.audio)); const mp3Tag: Tag = audioFile.getTagOrCreateAndSetDefault(); // 设置歌曲名,歌手名,专辑名 mp3Tag.setField(FieldKey.TITLE, info.title); mp3Tag.setField(FieldKey.ARTIST, info.artist); mp3Tag.setField(FieldKey.ALBUM, info.album); // 创建封面图实例 const coverImage: File = new File(info.cover); // 创建Artwork对象 const artwork: StandardArtwork = new StandardArtwork(); artwork.setBinaryData(Files.readAllBytes(coverImage.toPath())); artwork.setMimeType("image/jpg"); // 根据实际封面图片类型设置 artwork.setPictureType(3); // 删除旧的封面图 mp3Tag.deleteArtworkField(); // 写入封面图 mp3Tag.setField(artwork); // 写回文件 audioFile.commit(); return true; } catch(e) { return false; } } /** * writeFlacCover * 写入flac的封面图 * @param info 标签信息 * * @returns 返回写入结果 */ public writeFlacTag(info: Tags): boolean { try { // 读取flac文件,并强制申明为FlacTag类型 const audioFile = AudioFileIO.read(new File(info.audio)); const flacTag = audioFile.getTag() as FlacTag; // 设置歌曲名,歌flac手名,专辑名 flacTag.setField(FieldKey.TITLE, info.title); flacTag.setField(FieldKey.ARTIST, info.artist); flacTag.setField(FieldKey.ALBUM, info.album); // 读取封面图为字节流 const imageFile: FileInputStream = new FileInputStream(info.cover); const imagedata: ByteArray = new ByteArray(imageFile.available()); imageFile.read(imagedata); // 写入封面图 flacTag.setField(flacTag.createArtworkField(imagedata, PictureTypes.DEFAULT_ID, "image/jpg", "KHMD", 200, 200, 24, 0)); // 写回文件 audioFile.commit(); return true; } catch (e) { return false; } } }相关内容:依据于开源的java库jaudiotagger地址:https://bitbucket.org/ijabz/jaudiotagger/src/master/文档:http://jthink.net/jaudiotagger/index.jsp成品jar包下载地址:https://central.sonatype.com/artifact/net.jthink/jaudiotagger/versions说明:建议查看源码中的testsrc中的示例,个人觉得比文档中的示例详细和有用
2024年04月29日
346
2
0