Top Related Projects
高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron:
🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
网易云音乐 Node.js API service
Wiki.js | A modern and powerful wiki app built on Node.js
🐦 A personal music streaming server that works.
one for all free music in china (chrome extension, also works for firefox)
Quick Overview
LX Music Desktop is an open-source music player application for Windows, macOS, and Linux. It offers a clean interface for searching, playing, and managing music from various online sources, with features like playlist management and lyrics display.
Pros
- Cross-platform compatibility (Windows, macOS, Linux)
- Supports multiple online music sources
- User-friendly interface with customizable themes
- Offers both streaming and download capabilities
Cons
- Potential legal concerns due to accessing copyrighted content
- Relies on third-party sources, which may become unavailable
- Limited offline functionality compared to traditional music players
- May require frequent updates to maintain compatibility with music sources
Getting Started
To use LX Music Desktop:
- Visit the releases page on GitHub.
- Download the appropriate version for your operating system.
- Install the application following the standard procedure for your OS.
- Launch the application and start searching for and playing music.
Note: The application is primarily in Chinese, but efforts are being made to add multi-language support.
Competitor Comparisons
高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron:
Pros of YesPlayMusic
- More modern and visually appealing user interface
- Better integration with Netease Cloud Music API
- Support for lyrics display and synchronization
Cons of YesPlayMusic
- Limited to Netease Cloud Music as the primary music source
- Fewer customization options for appearance and functionality
- Less frequent updates and maintenance compared to lx-music-desktop
Code Comparison
YesPlayMusic (Vue.js):
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
createApp(App).use(store).use(router).mount('#app');
lx-music-desktop (Electron):
const { app, BrowserWindow } = require('electron');
const path = require('path');
function createWindow() {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
});
win.loadFile('index.html');
}
app.whenReady().then(createWindow);
YesPlayMusic uses Vue.js for its frontend, while lx-music-desktop is built with Electron, allowing for a more native desktop experience. lx-music-desktop offers a wider range of music sources and more extensive features, but YesPlayMusic provides a more polished and modern user interface focused on Netease Cloud Music integration.
🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
Pros of Navidrome
- Self-hosted music server with web UI and mobile apps
- Supports multiple users with individual libraries and playlists
- Integrates with various music players and streaming protocols
Cons of Navidrome
- Requires server setup and maintenance
- Limited to personal music libraries, no built-in music discovery features
- May have higher resource usage for large libraries
Code Comparison
Navidrome (Go):
func (s *Scanner) ScanLibrary(ctx context.Context) error {
s.running.Set(true)
defer s.running.Set(false)
start := time.Now()
...
}
LX Music Desktop (JavaScript):
const handlePlayMusic = async(musicInfo, isRefresh = false) => {
if (!musicInfo) return
if (!isRefresh) setPlayMusicInfo(musicInfo)
...
}
Summary
Navidrome is a self-hosted music server solution, while LX Music Desktop is a cross-platform desktop music player. Navidrome offers multi-user support and integration with various players, but requires server setup. LX Music Desktop provides a simpler, standalone solution for desktop users, focusing on music playback and discovery from online sources. The code comparison shows Navidrome's server-side scanning functionality in Go, contrasting with LX Music Desktop's client-side playback handling in JavaScript.
网易云音乐 Node.js API service
Pros of NeteaseCloudMusicApi
- Provides a comprehensive API for accessing NetEase Cloud Music data
- Supports a wide range of functionalities, including user operations, playlist management, and song details
- Well-documented with detailed API endpoints and usage instructions
Cons of NeteaseCloudMusicApi
- Requires server-side implementation and maintenance
- Limited to NetEase Cloud Music platform, not a multi-source solution
- May be subject to changes in NetEase's API, requiring frequent updates
Code Comparison
NeteaseCloudMusicApi:
const { login_cellphone, user_playlist } = require('NeteaseCloudMusicApi')
login_cellphone({
phone: '手机号',
password: '密码'
}).then(result => {
console.log(result)
user_playlist({
uid: result.body.account.id
}).then(data => {
console.log(data)
})
})
lx-music-desktop:
import { getCurrentPlayInfo } from '@renderer/utils/ipc'
import { setPlayInfo } from '@renderer/core/player/playInfo'
const updatePlayInfo = async() => {
const info = await getCurrentPlayInfo()
setPlayInfo(info)
}
The code snippets demonstrate the different approaches: NeteaseCloudMusicApi focuses on API interactions, while lx-music-desktop handles local playback and UI updates.
Wiki.js | A modern and powerful wiki app built on Node.js
Pros of Wiki
- More comprehensive documentation and extensive wiki features
- Larger community and active development with frequent updates
- Supports multiple authentication methods and integrations
Cons of Wiki
- Steeper learning curve due to more complex features
- Requires more system resources to run compared to LX Music Desktop
- May be overkill for simple music management needs
Code Comparison
Wiki (JavaScript):
const Wiki = require('wiki.js')
const wiki = new Wiki({
apiUrl: 'https://your-wiki-url/graphql'
})
LX Music Desktop (JavaScript):
const { app, BrowserWindow } = require('electron')
function createWindow () {
const win = new BrowserWindow({ width: 800, height: 600 })
win.loadFile('index.html')
}
Summary
Wiki is a feature-rich, collaborative knowledge base platform, while LX Music Desktop is a focused music player and management tool. Wiki offers more extensive functionality for documentation and team collaboration, but may be more complex to set up and use. LX Music Desktop provides a simpler, lightweight solution for music enthusiasts. The choice between the two depends on the specific needs of the user or organization.
🐦 A personal music streaming server that works.
Pros of koel
- Web-based application, accessible from any device with a browser
- Supports multiple users and user management
- More extensive API and integration capabilities
Cons of koel
- Requires server setup and maintenance
- Less focus on offline functionality
- Potentially more complex for non-technical users
Code Comparison
koel (PHP):
public function play($songId)
{
$song = Song::findOrFail($songId);
event(new SongStartedPlaying($song, Auth::user()));
return response()->json($song);
}
lx-music-desktop (JavaScript):
ipcMain.on('play', async (event, songInfo) => {
try {
const audioUrl = await getSongUrl(songInfo.id);
event.reply('play-song', { url: audioUrl, ...songInfo });
} catch (error) {
event.reply('play-error', error.message);
}
});
Summary
koel is a web-based music streaming server and player, while lx-music-desktop is a desktop application for music playback and management. koel offers multi-user support and broader accessibility but requires more setup. lx-music-desktop provides a simpler, offline-capable solution for individual users. The code comparison shows koel's server-side approach versus lx-music-desktop's desktop-centric implementation.
one for all free music in china (chrome extension, also works for firefox)
Pros of listen1_chrome_extension
- Browser-based extension, making it easily accessible across different platforms
- Supports multiple Chinese music streaming services in one interface
- Lightweight and doesn't require a separate desktop application installation
Cons of listen1_chrome_extension
- Limited to browser usage, lacking system-wide integration
- May have potential performance limitations compared to a native desktop application
- Dependent on browser compatibility and updates
Code Comparison
lx-music-desktop (Electron-based desktop application):
const { app, BrowserWindow } = require('electron')
const path = require('path')
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
win.loadFile('index.html')
}
listen1_chrome_extension (Chrome extension):
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.create({'url': chrome.extension.getURL('listen1.html')}, function(tab) {
// Tab opened.
});
});
The code snippets highlight the different approaches: lx-music-desktop uses Electron to create a desktop window, while listen1_chrome_extension leverages Chrome's extension API to open a new tab with the player interface.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
æ´éªé³ä¹å©ææ¡é¢ç
说æ
ä¸ä¸ªåºäº Electron + Vue å¼åçé³ä¹è½¯ä»¶ã
æç¨ææ¯æ ï¼
- Electron 15+
- Vue 3
å·²æ¯æçå¹³å°ï¼
- Windows 7 å以ä¸
- Mac OS
- Linux
软件åå请æ¥çï¼æ´æ°æ¥å¿
软件ä¸è½½è¯·è½¬å°ï¼åå¸é¡µé¢
æè
å°ç½çä¸è½½ï¼ç½çå
æMACãwindowsçï¼ï¼https://www.lanzoui.com/b0bf2cfa/
å¯ç ï¼glqw
ï¼è¥é¾æ¥æ æ³æå¼è¯·ç¾åº¦ï¼èå¥äºé¾æ¥æä¸å¼ï¼
使ç¨å¸¸è§é®é¢è¯·è½¬è³ï¼å¸¸è§é®é¢
ç®åæ¬é¡¹ç®çåå§åå¸å°ååªæGitHubåèå¥ç½çï¼å ¶ä»æ¸ éå为第ä¸æ¹è½¬è½½åå¸ï¼ä¸æ¬é¡¹ç®æ å ³ï¼
为äºæé«ä½¿ç¨é¨æ§ï¼æ¬è½¯ä»¶å çé»è®¤è®¾ç½®ãUIæä½ä¸ä»¥æ°æå好为ç®æ ï¼æ以使ç¨å建议å æ ¹æ®ä½ çå好æµè§è°æ´ä¸é软件设置ï¼é 读ä¸éé³ä¹ææ¾å表æºå¶åå¯ç¨çé¼ æ ãé®çå¿«æ·æä½
Scheme URLæ¯æ
ä»v1.17.0èµ·æ¯æ Scheme URLï¼å¯ä»¥ä½¿ç¨æ¤åè½ä»æµè§å¨çåºæ¯ä¸è°ç¨LX Musicï¼æ们å¼åäºä¸ä¸ªæ²¹ç´èæ¬é
å¥ä½¿ç¨ï¼
èæ¬å®è£
å°åï¼https://greasyfork.org/zh-CN/scripts/438148
è¥ä½ æ³èªå·±è°ç¨LX Musicï¼å¯ä»¥çScheme URLæ¯æ
æ°æ®åæ¥æå¡
ä»v2.2.0èµ·ï¼æ们åå¸äºä¸ä¸ªç¬ç«ççæ°æ®åæ¥æå¡ï¼å¦æä½ ææå¡å¨ï¼å¯ä»¥å°å ¶é¨ç½²å°æå¡å¨ä¸ä½ä¸ºç§äººå¤ç«¯åæ¥æå¡ä½¿ç¨ï¼è¯¦æ ç该项ç®è¯´æ
å¯å¨åæ°
ç®å软件已æ¯æçå¯å¨åæ°å¦ä¸ï¼
-proxy-server
设置代çæå¡å¨ï¼ä»£çåºç¨çæææµé-proxy-bypass-list
以åå·åéç主æºå表ç»è¿ä»£çæå¡å¨-play
å¯å¨æ¶ææ¾æå®å表çé³ä¹-search
å¯å¨è½¯ä»¶æ¶èªå¨å¨æç´¢æ¡æç´¢æå®çå 容-dha
ç¦ç¨ç¡¬ä»¶å éå¯å¨ï¼Disable Hardware Accelerationï¼-dt
以ééæ模å¼å¯å¨ï¼Disable Transparentï¼-dhmkh
ç¦ç¨ç¡¬ä»¶åªä½å¯é¥å¤çï¼Disable Hardware Media Key Handlingï¼
å¯å¨åæ°ç详ç»è¯´æ请çå¯å¨åæ°è¯´æ
æ°æ®åå¨è·¯å¾
é»è®¤æ åµä¸ï¼è½¯ä»¶çæ°æ®åå¨å¨ï¼
- Windowsï¼
%APPDATA%/lx-music-desktop
- Linuxï¼
$XDG_CONFIG_HOME/lx-music-desktop
æ~/.config/lx-music-desktop
- macOSï¼
~/Library/Application Support/lx-music-desktop
å¨Windowså¹³å°ä¸ï¼è¥ç¨åºç®å½ä¸åå¨portable
ç®å½ï¼åèªå¨ä½¿ç¨æ¤ç®å½ä½ä¸ºæ°æ®åå¨ç®å½ï¼v1.17.0æ°å¢ï¼ã
æºç 使ç¨æ¹æ³
å·²è¿ç§»è³ï¼https://lyswhut.github.io/lx-music-doc/desktop/use-source-code
UIçé¢
常è§é®é¢
常è§é®é¢å·²ç§»è³ï¼https://lyswhut.github.io/lx-music-doc/desktop/faq
è´¡ç®ä»£ç
æ¬é¡¹ç®æ¬¢è¿PRï¼ä½ä¸ºäºPRè½é¡ºå©å并ï¼éè¦æ³¨æ以ä¸å ç¹ï¼
- 对äºæ·»å æ°åè½çPRï¼å»ºè®®å¨PRåå å建issue说æï¼ä»¥ç¡®è®¤è¯¥åè½æ¯å¦ç¡®å®éè¦
- 对äºä¿®å¤Bug PRï¼è¯·æä¾ä¿®å¤ååç说æåéç°æ¹å¼
- å ¶ä»ç±»åçPRåéå½éä¸è¯´æ
è´¡ç®ä»£ç æ¥éª¤ï¼
- åç §æºç 使ç¨æ¹æ³è®¾ç½®å¼åç¯å¢
- å
éæ¬ä»åºä»£ç 并åæ¢å°
dev
åæ¯å¼å - æ交PRè³
dev
åæ¯
项ç®åè®®
æ¬é¡¹ç®åºäº Apache License 2.0 许å¯è¯åè¡ï¼ä»¥ä¸åè®®æ¯å¯¹äº Apache License 2.0 çè¡¥å ï¼å¦æå²çªï¼ä»¥ä»¥ä¸å议为åã
è¯è¯çº¦å®ï¼æ¬åè®®ä¸çâæ¬é¡¹ç®âææ´éªé³ä¹æ¡é¢ç项ç®ï¼â使ç¨è âæç¾ç½²æ¬åè®®ç使ç¨è ï¼âå®æ¹é³ä¹å¹³å°âæ对æ¬é¡¹ç®å ç½®çå æ¬é ·æãé ·çãåªåçé³ä¹æºçå®æ¹å¹³å°ç»ç§°ï¼âçææ°æ®âæå æ¬ä½ä¸éäºå¾åãé³é¢ãååçå¨å çä»äººæ¥ææå±çæçæ°æ®ã
ä¸ãæ°æ®æ¥æº
1.1 æ¬é¡¹ç®çåå®æ¹å¹³å°å¨çº¿æ°æ®æ¥æºåçæ¯ä»å ¶å ¬å¼æå¡å¨ä¸æåæ°æ®ï¼ä¸æªç»å½ç¶æå¨å®æ¹å¹³å°APPè·åçæ°æ®ç¸åï¼ï¼ç»è¿å¯¹æ°æ®ç®åå°çéä¸å并åè¿è¡å±ç¤ºï¼å æ¤æ¬é¡¹ç®ä¸å¯¹æ°æ®çåæ³æ§ãåç¡®æ§è´è´£ã
1.2 æ¬é¡¹ç®æ¬èº«æ²¡æè·åæ个é³é¢æ°æ®çè½åï¼æ¬é¡¹ç®ä½¿ç¨çå¨çº¿é³é¢æ°æ®æ¥æºæ¥èªè½¯ä»¶è®¾ç½®å âé³ä¹æ¥æºâ设置æéæ©çâæºâè¿åçå¨çº¿é¾æ¥ãä¾å¦ææ¾æé¦æï¼æ¬é¡¹ç®æåçåªæ¯å°å¸æææ¾çææ²ååãææååçä¿¡æ¯ä¼ éç»âæºâï¼è¥âæºâè¿åäºä¸ä¸ªé¾æ¥ï¼åæ¬é¡¹ç®å°è®¤ä¸ºè¿å°±æ¯è¯¥ææ²çé³é¢æ°æ®èè¿è¡ä½¿ç¨ï¼è³äºè¿æ¯ä¸æ¯æ£ç¡®çé³é¢æ°æ®æ¬é¡¹ç®æ æ³æ ¡éªå ¶åç¡®æ§ï¼æ以使ç¨æ¬é¡¹ç®çè¿ç¨ä¸å¯è½ä¼åºç°å¸æææ¾çé³é¢ä¸å®é ææ¾çé³é¢ä¸å¯¹åºæè æ æ³ææ¾çé®é¢ã
1.3 æ¬é¡¹ç®çéå®æ¹å¹³å°æ°æ®ï¼ä¾å¦æçæ¶èå表ï¼æ¥èªä½¿ç¨è æ¬å°ç³»ç»æè 使ç¨è è¿æ¥çåæ¥æå¡ï¼æ¬é¡¹ç®ä¸å¯¹è¿äºæ°æ®çåæ³æ§ãåç¡®æ§è´è´£ã
äºãçææ°æ®
2.1 使ç¨æ¬é¡¹ç®çè¿ç¨ä¸å¯è½ä¼äº§ççææ°æ®ã对äºè¿äºçææ°æ®ï¼æ¬é¡¹ç®ä¸æ¥æå®ä»¬çæææã为äºé¿å ä¾µæï¼ä½¿ç¨è å¡å¿ å¨24å°æ¶å æ¸ é¤ä½¿ç¨æ¬é¡¹ç®çè¿ç¨ä¸æ产çççææ°æ®ã
ä¸ãé³ä¹å¹³å°å«å
3.1 æ¬é¡¹ç®å çå®æ¹é³ä¹å¹³å°å«å为æ¬é¡¹ç®å 对å®æ¹é³ä¹å¹³å°çä¸ä¸ªç§°å¼ï¼ä¸å å«æ¶æãå¦æå®æ¹é³ä¹å¹³å°è§å¾ä¸å¦¥ï¼å¯èç³»æ¬é¡¹ç®æ´æ¹æ移é¤ã
åãèµæºä½¿ç¨
4.1 æ¬é¡¹ç®å 使ç¨çé¨åå æ¬ä½ä¸éäºåä½ãå¾ççèµæºæ¥æºäºäºèç½ãå¦æåºç°ä¾µæå¯èç³»æ¬é¡¹ç®ç§»é¤ã
äºãå 责声æ
5.1 ç±äºä½¿ç¨æ¬é¡¹ç®äº§ççå æ¬ç±äºæ¬åè®®æç±äºä½¿ç¨ææ æ³ä½¿ç¨æ¬é¡¹ç®èå¼èµ·çä»»ä½æ§è´¨çä»»ä½ç´æ¥ãé´æ¥ãç¹æ®ãå¶ç¶æç»ææ§æ害ï¼å æ¬ä½ä¸éäºå åèªæ失ãåå·¥ã计ç®æºæ éææ éå¼èµ·çæ害èµå¿ï¼æä»»ä½åææå ¶ä»åä¸æ害ææ失ï¼ç±ä½¿ç¨è è´è´£ã
å ã使ç¨éå¶
6.1 æ¬é¡¹ç®å®å ¨å è´¹ï¼ä¸å¼æºåå¸äº GitHub é¢åå ¨ä¸ç人ç¨ä½å¯¹ææ¯çå¦ä¹ 交æµãæ¬é¡¹ç®ä¸å¯¹é¡¹ç®å çææ¯å¯è½åå¨è¿åå½å°æ³å¾æ³è§çè¡ä¸ºä½ä¿è¯ã
6.2 ç¦æ¢å¨è¿åå½å°æ³å¾æ³è§çæ åµä¸ä½¿ç¨æ¬é¡¹ç®ã 对äºä½¿ç¨è å¨æç¥æä¸ç¥å½å°æ³å¾æ³è§ä¸å 许çæ åµä¸ä½¿ç¨æ¬é¡¹ç®æé æçä»»ä½è¿æ³è¿è§è¡ä¸ºç±ä½¿ç¨è æ¿æ ï¼æ¬é¡¹ç®ä¸æ¿æ ç±æ¤é æçä»»ä½ç´æ¥ãé´æ¥ãç¹æ®ãå¶ç¶æç»ææ§è´£ä»»ã
ä¸ãçæä¿æ¤
7.1 é³ä¹å¹³å°ä¸æï¼è¯·å°éçæï¼æ¯ææ£çã
å «ãéåä¸æ§è´¨
8.1 æ¬é¡¹ç®ä» ç¨äºå¯¹ææ¯å¯è¡æ§çæ¢ç´¢åç 究ï¼ä¸æ¥åä»»ä½åä¸ï¼å æ¬ä½ä¸éäºå¹¿åçï¼åä½åæèµ ã
ä¹ãæ¥ååè®®
9.1 è¥ä½ 使ç¨äºæ¬é¡¹ç®ï¼å°ä»£è¡¨ä½ æ¥åæ¬åè®®ã
è¥å¯¹æ¤æçé®è¯· mail to: lyswhut+qq.com (请å°+
æ¿æ¢æ@
)
Top Related Projects
高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron:
🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
网易云音乐 Node.js API service
Wiki.js | A modern and powerful wiki app built on Node.js
🐦 A personal music streaming server that works.
one for all free music in china (chrome extension, also works for firefox)
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot