樂樂音樂Compose-Desktop版【開源了】

簡介

樂樂音樂Compose-Desktop版主要是基于Compose-Desktop框架和musique開發(fā)的音樂播放器,它支持lrc歌詞和動感歌詞(
ksc歌詞、krc歌詞、trc歌詞、zrce歌詞和hrc歌詞等)、多種格式歌詞轉(zhuǎn)換器及制作動感歌詞、翻譯歌詞和音譯歌詞。

編譯環(huán)境

ideaIU-2024.1.4、JDK21

參考地址

musique音頻播放器

桌面歌詞窗口事件穿透

窗口

Compose Desktop 初體驗

問題

  1. Failed to check JDK distribution: 'jpackage.exe' is missing JDK distribution path:

    確保 Build, Execution, Deployment -> Build Tools -> Gradle 中設(shè)置了正確的 JDK。

  2. WebView問題

    之前想用JavaFx的WebView,但是需要使用完整版本的JDK,并且實現(xiàn)后的效果不是好理想,需要手動去隱藏這個WebView。

  3. build.gradle.kts中使用systemProperty來添加參數(shù)和在main.kt文件中使用,導(dǎo)致打包后exe文件打不開。

  4. createDistributable時卻少java.sql,可在nativeDistributions中modules.add("java.sql")

  5. 歌詞顏色上下漸變時,drawText在使用新創(chuàng)建的textMeasurer會讓文本只顯示白色,使用textMeasurer生成的textLayoutResult則正常。

  6. musique直接用curPlaySample,歌詞會出現(xiàn)閃爍情況,采用獲取AudioOutput位置解決。

  7. 桌面歌詞窗口設(shè)置是透明,歌詞鎖定時鼠標(biāo)事件無法穿透給下層的窗口,可以考慮去掉compose,使用原生的JavaSwing代碼來實現(xiàn)。另外一種方式是通過設(shè)置相關(guān)系統(tǒng)參數(shù)。

    System.setProperty("compose.swing.render.on.graphics", "true")
    System.setProperty("compose.layers.type", "COMPONENT")

歌詞轉(zhuǎn)視頻

FFmpeg插件已經(jīng)不能用,目前只實現(xiàn)了歌詞轉(zhuǎn)圖片,由于生成圖片時,是根據(jù)1000/幀率的時間間隔來生成的,所以這里幀率取能被整除的(200,125,100,50,40,20,10),防止圖片幀丟失與音頻對不上。若需要將圖片轉(zhuǎn)視頻,可用一些現(xiàn)成的工具如:ffmpeg
、Java項目可用jcodec和openshot

界面預(yù)覽

動感歌詞轉(zhuǎn)換頁面.png
翻譯歌詞制作頁面.png
歌詞秀頁面.png
歌詞轉(zhuǎn)視頻頁面.png
網(wǎng)絡(luò)頁面.png
音譯歌詞制作頁面.png
桌面歌詞窗口.png

打包

Compose Desktop 初體驗

更新日志

2025-01-03:初始導(dǎo)入

項目地址

樂樂音樂

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容