简介
乐乐音乐Compose-Desktop版主要是基于Compose-Desktop框架和musique开发的音乐播放器,它支持lrc歌词和动感歌词(
ksc歌词、krc歌词、trc歌词、zrce歌词和hrc歌词等)、多种格式歌词转换器及制作动感歌词、翻译歌词和音译歌词。
编译环境
ideaIU-2024.1.4、JDK21
参考地址
musique音频播放器
桌面歌词窗口事件穿透
窗口
Compose Desktop 初体验
问题
-
Failed to check JDK distribution: ‘jpackage.exe’ is missing JDK distribution path:
确保 Build, Execution, Deployment -> Build Tools -> Gradle 中设置了正确的 JDK。
-
WebView问题
之前想用JavaFx的WebView,但是需要使用完整版本的JDK,并且实现后的效果不是好理想,需要手动去隐藏这个WebView。
-
build.gradle.kts中使用systemProperty来添加参数和在main.kt文件中使用,导致打包后exe文件打不开。
-
createDistributable时却少java.sql,可在nativeDistributions中modules.add(“java.sql”)
-
歌词颜色上下渐变时,drawText在使用新创建的textMeasurer会让文本只显示白色,使用textMeasurer生成的textLayoutResult则正常。
-
musique直接用curPlaySample,歌词会出现闪烁情况,采用获取AudioOutput位置解决。
-
桌面歌词窗口设置是透明,歌词锁定时鼠标事件无法穿透给下层的窗口,可以考虑去掉compose,使用原生的JavaSwing代码来实现。另外一种方式是通过设置相关系统参数。
System.setProperty("compose.swing.render.on.graphics", "true")
System.setProperty("compose.layers.type", "COMPONENT")
歌词转视频
FFmpeg插件已经不能用,目前只实现了歌词转图片,由于生成图片时,是根据1000/帧率的时间间隔来生成的,所以这里帧率取能被整除的(200,125,100,50,40,20,10),防止图片帧丢失与音频对不上。若需要将图片转视频,可用一些现成的工具如:ffmpeg
、Java项目可用jcodec和openshot
界面预览
打包
Compose Desktop 初体验
更新日志
2025-01-03:初始导入