├── .gitattributes ├── .gitignore ├── README.md ├── babel.config.js ├── cnpm ├── getMatadata.js ├── images with instructions in English ├── JRP6PZO4_RDBNH)E3(_LU32.png ├── QQ截图20240201123056.png ├── QQ截图20240201123651.png ├── QQ截图20240201123854.png ├── QQ截图20240201124035.png ├── QQ截图20240201124205.png ├── QQ截图20240201124741.png ├── QQ截图20240201125348.png ├── QQ截图20240201125659.png └── settings.txt ├── images ├── 截图20240104224403.png ├── 截图20240104224443.png ├── 截图20240104224513.png └── 截图20240104224537.png ├── index.html ├── jsconfig.json ├── main.js ├── npminstall-debug.log ├── package-lock.json ├── package.json ├── preload.js ├── public ├── favicon.ico └── index.html ├── src ├── App.vue ├── App2.vue ├── assets │ ├── EQ.png │ ├── add.png │ ├── addPlaylist.png │ ├── album.png │ ├── artist.png │ ├── choice.png │ ├── close.png │ ├── closeWindow.png │ ├── color.png │ ├── dLyric.png │ ├── defaultBack.png │ ├── delete.png │ ├── delete2.png │ ├── delete3.png │ ├── downVolume.png │ ├── file.png │ ├── folder.png │ ├── folder2.png │ ├── fullS.png │ ├── home.png │ ├── img.png │ ├── info.png │ ├── info2.png │ ├── library.png │ ├── logoImg.png │ ├── lrc.png │ ├── lrc2.png │ ├── match.png │ ├── maximize.png │ ├── mini.png │ ├── minimize.png │ ├── more.png │ ├── next.png │ ├── nextSongs.png │ ├── noVolume.png │ ├── onesong.png │ ├── order.png │ ├── pause.png │ ├── play.png │ ├── play2.png │ ├── playlist.png │ ├── playlist3.png │ ├── playlist4.png │ ├── prev.png │ ├── queue.png │ ├── random.png │ ├── rotate.png │ ├── search.png │ ├── set.png │ ├── spectrum.png │ ├── target.png │ ├── volume.png │ └── znone.png ├── components │ ├── Footer.vue │ ├── Header.vue │ ├── HowlerPlayer.vue │ └── WebAudioApi.js ├── main.js ├── mixin.js ├── pages │ ├── AlbumDetail.vue │ ├── Albums.vue │ ├── ArtistDetail.vue │ ├── Artists.vue │ ├── Folders.vue │ ├── Home.vue │ ├── Library.vue │ ├── Playlists.vue │ ├── Search.vue │ ├── Settings.vue │ ├── SongsInFolder.vue │ └── SongsInPlaylist.vue ├── plugins.js ├── router │ └── index.js └── vuex │ └── store.js ├── vue.config.js └── yarn.lock /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Sonorbit - 基于 Electron 和 Vue2 的本地音乐播放器。 2 | 3 | ## 特点 4 | 5 | - 集现代与复古为一体的 UI ,简约美观 6 | - 匹配下载网易云歌词和封面(可精确匹配某一首歌) 7 | - 识别内嵌歌词和本地 lrc 文件,自定义歌词文件夹 8 | - 丰富且可自定义的快捷键 9 | - 流畅的操作动效 10 | - 桌面歌词 11 | - 均衡器 12 | - 标签属性编辑 13 | - 可视化频谱(较耗性能) 14 | 15 | ## 运行 16 | 17 | - npm install 18 | - npm run serve 19 | - npm start 20 | 21 | ## 打包 22 | 23 | - 打包过程较为复杂,请私下咨询我 24 | 25 | 26 | 27 | ## 图片展示 28 | 29 |  30 | 31 |  32 | 33 |  34 | 35 |  36 | 37 | 38 | 39 | ## 视频展示 40 | 41 | b站地址:https://www.bilibili.com/video/BV1or4y1X7hc/ 42 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /cnpm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/cnpm -------------------------------------------------------------------------------- /getMatadata.js: -------------------------------------------------------------------------------- 1 | const mm = require('music-metadata'); 2 | const path = require('path'); 3 | 4 | const audioFilePath = path.join(__dirname, process.argv[2]); 5 | 6 | mm.parseFile(audioFilePath) 7 | .then(metadata => { 8 | process.send({ metadata }); 9 | }) 10 | .catch(error => { 11 | process.send({ error: error.message }); 12 | }); 13 | -------------------------------------------------------------------------------- /images with instructions in English/JRP6PZO4_RDBNH)E3(_LU32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/JRP6PZO4_RDBNH)E3(_LU32.png -------------------------------------------------------------------------------- /images with instructions in English/QQ截图20240201123056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/QQ截图20240201123056.png -------------------------------------------------------------------------------- /images with instructions in English/QQ截图20240201123651.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/QQ截图20240201123651.png -------------------------------------------------------------------------------- /images with instructions in English/QQ截图20240201123854.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/QQ截图20240201123854.png -------------------------------------------------------------------------------- /images with instructions in English/QQ截图20240201124035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/QQ截图20240201124035.png -------------------------------------------------------------------------------- /images with instructions in English/QQ截图20240201124205.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/QQ截图20240201124205.png -------------------------------------------------------------------------------- /images with instructions in English/QQ截图20240201124741.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/QQ截图20240201124741.png -------------------------------------------------------------------------------- /images with instructions in English/QQ截图20240201125348.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/QQ截图20240201125348.png -------------------------------------------------------------------------------- /images with instructions in English/QQ截图20240201125659.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/QQ截图20240201125659.png -------------------------------------------------------------------------------- /images with instructions in English/settings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images with instructions in English/settings.txt -------------------------------------------------------------------------------- /images/截图20240104224403.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images/截图20240104224403.png -------------------------------------------------------------------------------- /images/截图20240104224443.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images/截图20240104224443.png -------------------------------------------------------------------------------- /images/截图20240104224513.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images/截图20240104224513.png -------------------------------------------------------------------------------- /images/截图20240104224537.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Violexjj/Loop-Sound-Player/a353aab42f5586acb7ce115da2d974b7f48edfb8/images/截图20240104224537.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |{{ index + 1 }} | 108 |109 | {{ truncateText(song.title + " - " + song.artist),10}} 110 | | 111 |