Convert Figma logo to code with AI

maicong logomusic

音乐搜索器 - 多站合一音乐搜索解决方案

2,071
709
2,071
33

Top Related Projects

1,707

:cake: Wow, such a powerful music API framework

one for all free music in china (chrome extension, also works for firefox)

高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron:

网易云音乐 Node.js API service

一个基于 electron 的音乐软件

4,151

Material Design 3(Material You) UI components using Web Components.

Quick Overview

The maicong/music repository is a web-based music player that allows users to search for and listen to music from various online sources. It provides a user-friendly interface for browsing and playing music, as well as features for creating playlists and managing your music library.

Pros

  • Comprehensive Music Library: The project integrates with multiple music sources, allowing users to access a wide range of music content.
  • User-Friendly Interface: The web-based player offers a clean and intuitive design, making it easy for users to navigate and interact with the music.
  • Playlist Management: Users can create and manage their own playlists, allowing them to customize their listening experience.
  • Cross-Platform Accessibility: As a web-based application, the music player can be accessed from any device with a web browser, providing a consistent experience across different platforms.

Cons

  • Limited Music Sources: While the project integrates with multiple sources, the selection may be limited compared to dedicated music streaming services.
  • Potential Legal Concerns: Depending on the music sources used, there may be legal or licensing issues that could impact the long-term sustainability of the project.
  • Maintenance and Updates: As an open-source project, the ongoing maintenance and updates may rely on the availability and contributions of the community.
  • Privacy and Security: As a web-based application, there may be concerns about user data privacy and the security of the platform.

Code Examples

N/A (This is not a code library)

Getting Started

N/A (This is not a code library)

Competitor Comparisons

1,707

:cake: Wow, such a powerful music API framework

Pros of Meting

  • More actively maintained with recent updates
  • Supports a wider range of music platforms (10+)
  • Better documentation and examples for integration

Cons of Meting

  • Requires PHP 5.4+ while Music works with PHP 5.3+
  • More complex setup process
  • Larger codebase, potentially harder to customize

Code Comparison

Music:

$api = new \Metowolf\Meting('netease');
$data = $api->format(true)->search('Hello');

Meting:

$api = new \Meting\Core();
$api->setFormat('json');
$data = $api->netease()->search('Hello');

Key Differences

  • Meting uses a more object-oriented approach
  • Music focuses primarily on Chinese music platforms
  • Meting offers more flexibility in output formats
  • Music has a simpler API but fewer features

Use Cases

  • Choose Music for basic integration with Chinese platforms
  • Opt for Meting for a more comprehensive, multi-platform solution

Community and Support

  • Meting has a larger user base and more active issues/discussions
  • Music has fewer contributors but a simpler codebase for quick fixes

one for all free music in china (chrome extension, also works for firefox)

Pros of listen1_chrome_extension

  • Cross-platform compatibility as a Chrome extension
  • Supports multiple music streaming services in one interface
  • Active development with frequent updates

Cons of listen1_chrome_extension

  • Limited to Chrome browser environment
  • May require more system resources as a browser extension
  • Potential for breakage if streaming services change their APIs

Code Comparison

listen1_chrome_extension:

const playlistTypes = {
  'netease': 'netease_playlist',
  'qq': 'qq_playlist',
  'kugou': 'kugou_playlist',
  'kuwo': 'kuwo_playlist',
  'bilibili': 'bilibili_playlist',
};

music:

$music_type = [
    'netease'    => '网易',
    'tencent'    => 'QQ',
    'xiami'      => '虾米',
    'kugou'      => '酷狗',
    'baidu'      => '百度',
];

Both projects use similar approaches to define music service types, but listen1_chrome_extension is implemented in JavaScript for browser environments, while music uses PHP for server-side processing.

listen1_chrome_extension offers a more comprehensive solution for cross-platform music streaming, integrating multiple services into a single interface. However, it's limited to Chrome users. music, on the other hand, provides a server-side solution that can be integrated into various web applications but may require more setup and maintenance.

高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron:

Pros of YesPlayMusic

  • More active development with frequent updates and bug fixes
  • Modern and visually appealing user interface
  • Cross-platform support (Windows, macOS, Linux)

Cons of YesPlayMusic

  • Larger codebase and potentially more complex to contribute to
  • Focused primarily on NetEase Music, less flexibility for other sources

Code Comparison

YesPlayMusic (Vue.js):

<template>
  <div class="player">
    <Cover :url="currentTrack.al.picUrl" :playing="isPlaying" />
    <div class="info">
      <div class="title">{{ currentTrack.name }}</div>
      <div class="artist">{{ currentTrack.ar[0].name }}</div>
    </div>
  </div>
</template>

music (PHP):

<?php
function mc_song_urls($value, $type = 'query', $site = 'netease', $page = 1)
{
    if (!$value) {
        return;
    }
    $result = mc_get_song_by_id($value, $type, $site, $page);
    if (empty($result['url'])) {
        return;
    }
    return $result;
}

Summary

YesPlayMusic offers a more polished and actively maintained solution with cross-platform support, while music provides a simpler PHP-based implementation. YesPlayMusic's modern interface and frequent updates make it more appealing for end-users, but its larger codebase may be more challenging for contributors. The music project, being PHP-based, might be easier to integrate into existing web applications but lacks the rich features and UI of YesPlayMusic.

网易云音乐 Node.js API service

Pros of NeteaseCloudMusicApi

  • More comprehensive API coverage for NetEase Cloud Music
  • Actively maintained with frequent updates
  • Extensive documentation and examples

Cons of NeteaseCloudMusicApi

  • Focused solely on NetEase Cloud Music, lacking multi-platform support
  • More complex setup and usage compared to music

Code Comparison

music:

$api = new \Metowolf\Meting('netease');
$data = $api->format(true)->search('Hello');

NeteaseCloudMusicApi:

const { login_cellphone, user_cloud } = require('NeteaseCloudMusicApi')

login_cellphone({
  phone: '手机号',
  password: '密码'
}).then(result => {
  console.log(result)
  user_cloud({
    cookie: result.body.cookie
  }).then(result => {
    console.log(result)
  })
})

Summary

NeteaseCloudMusicApi offers a more comprehensive and up-to-date API for NetEase Cloud Music, with better documentation and active maintenance. However, it's limited to a single platform and has a steeper learning curve. In contrast, music provides a simpler interface and supports multiple music platforms but may lack some of the advanced features and regular updates found in NeteaseCloudMusicApi.

一个基于 electron 的音乐软件

Pros of lx-music-desktop

  • Cross-platform desktop application (Windows, macOS, Linux)
  • More feature-rich UI with playlist management and lyrics display
  • Regular updates and active development

Cons of lx-music-desktop

  • Larger file size and resource usage due to being a desktop application
  • More complex setup compared to the web-based music project

Code Comparison

lx-music-desktop (Vue.js):

import { createApp } from 'vue'
import App from './App.vue'
import store from './store'
import router from './router'

createApp(App).use(store).use(router).mount('#app')

music (PHP):

<?php
require 'vendor/autoload.php';
$api = new Meting('netease');
$data = $api->format(true)->search('Hello');
echo json_encode($data);

Summary

lx-music-desktop is a comprehensive desktop application for music streaming, offering a rich feature set and cross-platform support. It provides a more robust user experience with playlist management and lyrics display. However, it requires more system resources and has a more complex setup compared to the web-based music project.

The music project is a simpler, web-based solution that can be easily integrated into existing websites. It has a smaller footprint but offers fewer features compared to lx-music-desktop.

Both projects serve different use cases, with lx-music-desktop being more suitable for users looking for a standalone music player, while music is better for web developers wanting to add music functionality to their sites.

4,151

Material Design 3(Material You) UI components using Web Components.

Pros of mdui

  • More comprehensive UI framework with a wider range of components
  • Better documentation and examples for developers
  • Actively maintained with regular updates and improvements

Cons of mdui

  • Larger file size and potentially more complex to implement
  • Focused on Material Design, which may not suit all project styles
  • Steeper learning curve for developers new to the framework

Code Comparison

mdui:

mdui.snackbar({
  message: 'Hello, world!',
  timeout: 3000,
  position: 'bottom'
});

music:

$music = new Music();
$result = $music->search('Song Title', 'netease');

Summary

mdui is a comprehensive Material Design UI framework for web development, offering a wide range of components and tools. It provides better documentation and is actively maintained, but may be more complex to implement and has a steeper learning curve.

music is a simpler, more focused project for searching and playing music from various sources. It's easier to integrate for specific music-related functionality but lacks the broader UI components and design system offered by mdui.

The choice between these repositories depends on the project's specific needs: mdui for a full-featured UI framework, or music for a targeted music search and playback solution.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

音乐搜索器

GitHub release PHP version GitHub license

说明

⚠️ 本项目已暂停维护,存档代码仅供学习交流,不得用于商业用途

多站合一音乐搜索解决方案,支持搜索试听以下网站音乐:

网易云音乐 QQ音乐 酷狗音乐 酷我音乐 虾米音乐 百度音乐 一听音乐 咪咕音乐 荔枝FM 蜻蜓FM 喜马拉雅FM 全民K歌 5sing原创 5sing翻唱

数据调用的是各网站的 API 接口,有的接口并不是开放的,随时可能失效,本项目相关代码仅供参考。

演示

演示站点暂停维护,2018年11月01日起不再提供演示站点服务。

如果有需要改进的地方,欢迎提交 Pull Requests

下载

📦 下载开发版 📦 获取稳定版

解决方案

1. 提示数据获取失败

方案1:

修改 index.php 文件里的 MC_PROXY 为您的代理地址
将 core/music.php 里需要代理的 URL 'proxy' => false 改为 'proxy' => true

方案2:

在 core/music.php 里查找 setTimeout,将其后面的数值 20 改为更大。
在 static/js/music.js 里查找 `timeout`,将其数值 30000 改为更大。

方案3:

服务器要支持 curl。
更换服务器,选择延迟更低的服务器。

2. 播放器显示 Error happens ╥﹏╥

音乐链接为空

1. 音乐需要付费才能收听
2. 版权限制,外站无法获取
3. 服务器 IP 所在地不在源站允许的区域
4. 音乐下架了,链接被去除

音乐链接不为空

1. 当前 IP 所在地因版权限制而无法播放
2. 音乐格式浏览器无法正常解析

3. 国内接口优化

如果你的网站在国内,打开 /index.php,将 define('MC_INTERNAL', 0); 修改为 define('MC_INTERNAL', 1);,这样就可以取到咪咕和网易云音乐的 320k 音频了。

更新日志

请查看 CHANGELOG.md

免责声明

  1. 本站音频文件来自各网站接口,本站不会修改任何音频文件
  2. 音频版权来自各网站,本站只提供数据查询服务,不提供任何音频存储和贩卖服务
  3. 本项目代码仅供学习交流,不得用于商业用途,如有侵犯与代码贡献人员无关

开源协议

The MIT License (MIT)