簡介
樂樂音樂Compose-Desktop版主要是基于Compose-Desktop框架和musique開發(fā)的音樂播放器沈条,它支持lrc歌詞和動感歌詞(
ksc歌詞需忿、krc歌詞、trc歌詞蜡歹、zrce歌詞和hrc歌詞等)屋厘、多種格式歌詞轉換器及制作動感歌詞、翻譯歌詞和音譯歌詞月而。
編譯環(huán)境
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溢谤,并且實現(xiàn)后的效果不是好理想,需要手動去隱藏這個WebView憨攒。
build.gradle.kts中使用systemProperty來添加參數(shù)和在main.kt文件中使用世杀,導致打包后exe文件打不開。
createDistributable時卻少java.sql肝集,可在nativeDistributions中modules.add("java.sql")
歌詞顏色上下漸變時瞻坝,drawText在使用新創(chuàng)建的textMeasurer會讓文本只顯示白色,使用textMeasurer生成的textLayoutResult則正常杏瞻。
musique直接用curPlaySample所刀,歌詞會出現(xiàn)閃爍情況,采用獲取AudioOutput位置解決捞挥。
-
桌面歌詞窗口設置是透明浮创,歌詞鎖定時鼠標事件無法穿透給下層的窗口,可以考慮去掉compose砌函,使用原生的JavaSwing代碼來實現(xiàn)蒸矛。另外一種方式是通過設置相關系統(tǒng)參數(shù)。
System.setProperty("compose.swing.render.on.graphics", "true")
System.setProperty("compose.layers.type", "COMPONENT")
歌詞轉視頻
FFmpeg插件已經(jīng)不能用,目前只實現(xiàn)了歌詞轉圖片雏掠,由于生成圖片時,是根據(jù)1000/幀率的時間間隔來生成的劣像,所以這里幀率取能被整除的(200,125,100,50,40,20,10)乡话,防止圖片幀丟失與音頻對不上。若需要將圖片轉視頻耳奕,可用一些現(xiàn)成的工具如:ffmpeg
绑青、Java項目可用jcodec和openshot
界面預覽
打包
Compose Desktop 初體驗
更新日志
2025-01-03:初始導入