Top Related Projects
高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron:
🎧☁️ Your Personal Streaming Service
网易云音乐 Node.js API service
Wiki.js | A modern and powerful wiki app built on Node.js
Music streaming solution 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.
🎧☁️ Your Personal Streaming Service
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.
Music streaming solution 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
LX Music æ¡é¢ç
ä¸ä¸ªåºäº Electron & Vue å¼åçé³ä¹è½¯ä»¶
说æ
æç¨ææ¯æ ï¼
- Electron 30+
- Vue 3
å·²æ¯æçå¹³å°ï¼
- Linux
- macOS
- Windows 7 å以ä¸
ç§»å¨ç项ç®å°åï¼https://github.com/lyswhut/lx-music-mobile
软件åå请æ¥çæ´æ°æ¥å¿ã
软件ä¸è½½è¯·æ¥ç GitHub Releasesã
使ç¨å¸¸è§é®é¢è¯·åé æ¡é¢ç常è§é®é¢ã
ç®åæ¬é¡¹ç®çåå§åå¸å°ååªæ GitHubï¼å ¶ä»æ¸ éåä¸ºç¬¬ä¸æ¹è½¬è½½åå¸ï¼ä¸æ¬é¡¹ç®æ å ³ï¼
ä¸ºäºæé«ä½¿ç¨é¨æ§ï¼æ¬è½¯ä»¶å çé»è®¤è®¾ç½®ãUI æä½ä¸ä»¥æ°æåå¥½ä¸ºç®æ ï¼æä»¥ä½¿ç¨åå»ºè®®å æ ¹æ®ä½ çå好æµè§è°æ´ä¸é软件设置ï¼é 读ä¸éé³ä¹ææ¾å表æºå¶åå¯ç¨çé¼ æ ãé®çå¿«æ·æä½ã
Scheme URL æ¯æ
ä» v1.17.0 èµ·æ¯æ Scheme URLï¼å¯ä»¥ä½¿ç¨æ¤åè½å¨æµè§å¨çåºæ¯ä¸è°ç¨ LX Musicï¼æä»¬å¼åäºä¸ä¸ªæ²¹ç´èæ¬é å¥ä½¿ç¨ã
èæ¬å®è£ å°åï¼LX Music è¾ å©èæ¬ã
è¥ä½ æ³èªå·±è°ç¨ LX Musicï¼å¯ä»¥åèææ¡£ãScheme URL æ¯æãé¨åã
æ°æ®åæ¥æå¡
ä» v2.2.0 èµ·ï¼æä»¬åå¸äºä¸ä¸ªç¬ç«çæ°æ®åæ¥æå¡ãå¦æä½ ææå¡å¨ï¼å¯ä»¥å°å ¶é¨ç½²å°æå¡å¨ä¸ä½ä¸ºç§äººå¤ç«¯åæ¥æå¡ä½¿ç¨ï¼è¯¦æ ç该项ç®è¯´æã
弿¾ API æ¯æ
ä» v2.7.0 èµ·æ¯æå¼æ¾ API æå¡ãå¯ç¨è¯¥åè½åï¼å°ä¼å¨æ¬å°å¯å¨ä¸ä¸ª HTTP æå¡ï¼æä¾ææ¾å¨ç¸å ³çæ¥å£ä¾ç¬¬ä¸æ¹è½¯ä»¶è°ç¨ï¼è¯¦æ çææ¡£ã弿¾ API æå¡ãé¨åã
æ°æ®åå¨ç®å½
é»è®¤æ åµä¸ï¼è½¯ä»¶çæ°æ®åå¨å¨ï¼
- Linuxï¼
$XDG_CONFIG_HOME/lx-music-desktop
æ~/.config/lx-music-desktop
- macOSï¼
~/Library/Application Support/lx-music-desktop
- Windowsï¼
%APPDATA%/lx-music-desktop
å¨ Windows å¹³å°ä¸ï¼è¥ç¨åºæä»¶å¤¹ä¸åå¨ portable
æä»¶å¤¹ï¼åèªå¨ä½¿ç¨æ¤æä»¶å¤¹ä½ä¸ºæ°æ®å卿件夹ï¼éç¨äº v1.17.0 å以ä¸çæ¬ï¼ã
ç¨æ·çé¢
è´¡ç®ä»£ç
æ¬é¡¹ç®æ¬¢è¿ PRï¼ä½ä¸ºäº PR è½é¡ºå©åå¹¶ï¼éè¦æ³¨æä»¥ä¸å ç¹ï¼
- å¯¹äºæ·»å æ°åè½ç PRï¼å»ºè®®å¨æäº¤ PR åå å建 Issue è¿è¡è¯´æï¼ä»¥ç¡®è®¤è¯¥åè½æ¯å¦ç¡®å®éè¦ã
- 对äºä¿®å¤ bug ç PRï¼è¯·æä¾ä¿®å¤ååç说æåéç°æ¹å¼ã
- 对äºå ¶ä»ç±»åç PRï¼åéå½éä¸è¯´æã
è´¡ç®ä»£ç æ¥éª¤ï¼
- åç §æºç ä½¿ç¨æ¹æ³è®¾ç½®å¼åç¯å¢ï¼
- å
鿬ä»åºä»£ç 并忢è³
dev
忝è¿è¡å¼åï¼ - æäº¤ PR è³
dev
忝ã
æºç ä½¿ç¨æ¹æ³
请åé ï¼https://lyswhut.github.io/lx-music-doc/desktop/use-source-code
项ç®åè®®
æ¬é¡¹ç®åºäº Apache License 2.0 许å¯è¯åè¡ï¼ä»¥ä¸åè®®æ¯å¯¹äº Apache License 2.0 çè¡¥å ï¼å¦æå²çªï¼ä»¥ä»¥ä¸å议为åã
è¯è¯çº¦å®ï¼æ¬åè®®ä¸çâæ¬é¡¹ç®âæ LX Musicï¼æ´éªé³ä¹å©æï¼æ¡é¢ç项ç®ï¼â使ç¨è âæç¾ç½²æ¬åè®®ç使ç¨è ï¼â宿¹é³ä¹å¹³å°âæå¯¹æ¬é¡¹ç®å ç½®çå æ¬é ·æãé ·çãåªåçé³ä¹æºç宿¹å¹³å°ç»ç§°ï¼âçææ°æ®âæå æ¬ä½ä¸éäºå¾åãé³é¢ãååçå¨å çä»äººæ¥ææå±çæçæ°æ®ã
ä¸ãæ°æ®æ¥æº
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:
🎧☁️ Your Personal Streaming Service
网易云音乐 Node.js API service
Wiki.js | A modern and powerful wiki app built on Node.js
Music streaming solution 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