ルール:

  • マークダウン構造を保護する。
  • URLやコードを翻訳しない。
  • 追加のコメントなしで翻訳された内容を返す。

MoeKoe Music

# MoeKoe Music Mobile

オープンソースでシンプルで高颜值のサードパーティーKuGou Musicのモバイル端末プレイヤー

Expo / React Nativeに基づいて構築され、MoeKoeMusicデスクトップ版のモバイル版実装です

🌎 GitHubリポジトリ  |  
📦️ ダウンロードパッケージ  |  
💬 ブログアクセス  |  
🏠 プロジェクトホームページ

オープンソースでシンプルで高颜值のサードパーティーKuGou Musicのモバイル端末プレイヤー

Expo / React Nativeに基づいて構築され、MoeKoeMusicデスクトップ版のモバイル版実装です

Expo SDK React Native TypeScript License Platform


✨ 特徴

  • 🎵 サーバー自建不要 — KuGou APIのアダプテーションレイヤーが直接公式に直結し、すぐに使用可能で、外部APIアドレスに依存しません
  • 🏠 ホームページの推薦 — 毎日の推薦、選定歌単、ランキング
  • 🧭 発見ページ — カテゴリ別歌単、新曲速報などのコンテンツ探索
  • 🔍 検索 — 歌曲や歌単、アルバムの迅速な検索
  • 📀 歌単 / アルバム / ランキング — 完全な詳細ページと曲リスト
  • 🎧 プレイヤー — ロールシャッター歌詞、プレイリスト、ミニプレイヤー(MiniPlayer)、バックグラウンドプレイ
  • 🎚️ 音質検出 — 利用可能な音質を自動的に検出し、選択
  • 📱 電話番号ログイン — KuGouアカウントの收藏と歌単の同期
  • 🌗 ダークモード — システムに従って明暗テーマを自動的に切り替え

📝 Todoリスト

  • [x] ホームページの毎日の推薦 / 選定歌単 / ランキング
  • [x] 発見ページのカテゴリ別内容の閲覧
  • [x] 歌曲や歌単、アルバムの検索
  • [x] 歌単 / アルバム / ランキングの詳細ページ
  • [x] プレイヤー:ロールシャッター歌詞、プレイリスト、ミニプレイヤー、バックグラウンドプレイ
  • [x] 音質検出と自動選択
  • [x] 電話番号ログイン
  • [x] 認証情報ログイン
  • [x] スキャンログイン(他のデバイス)
  • [x] いいね / 收藏の同期
  • [x] ユーザー歌単管理(作成 / 收藏 / 編集)
  • [ ] 通知バー / ロックスクリーンプレイコントロール
  • [ ] 歌曲詳細の閲覧
  • [ ] テキストから歌詞の検出
  • [ ] タブレットと横画面の対応
  • [ ] パフォーマンス最適化

📸 プレビュー

スクリーンショット 1スクリーンショット 2スクリーンショット 3
スクリーンショット 4スクリーンショット 5スクリーンショット 6

🚀 快速スタート

環境要件

  • Node.js ≥ 22
  • Git
  • iOSシミュレータ / Androidシミュレータ、または開発版クライアントがインストールされた実際のデバイス

開発と実行

# リポジトリをクローン(api submoduleを含む)
git clone --recurse-submodules https://github.com/MoeKoeMusic/MoeKoeMusic-Mobile.git
cd MoeKoeMusic-Mobile

# 依存関係をインストール
npm install
npm --prefix api install

# モバイル端末APIエントリを生成(api/ 更新後は再実行が必要)
npm run generate:mobile-api

# 開発サーバーを起動
npx expo start

クローン時にsubmoduleが欠けている場合は、git submodule update --initを実行して補完できます。

バンドルとビルド

プロジェクトはEAS Buildを使用しています:

# デベロップメントクライアント(開発版)
eas build --profile development --platform android

# プレビューバージョン(内部分配)
eas build --profile preview --platform android

# プロダクションバージョン
eas build --profile production --platform all

🏗️ プロジェクト構造

├── api/                    # KuGouMusicApi(git submodule)
├── scripts/
│   └── generate-mobile-api-entry.mjs   # api/moduleをスキャンしてモバイル端末エントリを生成
├── src/
│   ├── app/                # expo-router ルーティング
│   │   ├── (tabs)/         # ホーム、発見、マイページ
│   │   ├── player.tsx      # フルスクリーンプレイページ
│   │   ├── search.tsx      # 検索ページ
│   │   ├── login.tsx       # ログインページ
│   │   └── playlist|album|rank/[id].tsx  # 詳細ページ
│   ├── components/ui/      # 一般的な UI コンポーネント(歌詞、プレイリスト、ミニプレイヤーなど)
│   ├── features/           # ビジネスモジュール(プレイヤー / 発見 / 検索 / アカウント ...)
│   ├── lib/kugou-api/      # アプリ内 API ランタイムアダプテーションレイヤー
│   ├── hooks/              # 一般的な Hooks
│   └── constants/          # トピックとレイアウトの常量
├── app.json                # Expo アプリケーション設定
└── eas.json                # EAS ビルド設定

🔧 テクノロジースタック

カテゴリ プラットフォーム
フレームワーク Expo SDK 57 + React Native 0.86 + React 19(React Compilerの有効化)
ルーティング expo-router(ファイルルーティング + Typed Routes)
UI Tamagui v2
オーディオ expo-audio(バックグラウンドプレイをサポート)
アニメーション react-native-reanimated 4
データソース KuGouMusicApi(アプリ内で実行、デプロイメント不要)

🤝 関連プロジェクト

  • MoeKoeMusic — デスクトップ版(Windows / macOS / Linux)
  • KuGouMusicApi — 酷狗音楽 Node.js API、本プロジェクトのデータソース

💬 貢献

どんな形でも歓迎します!

  1. このリポジトリをフォーク
  2. 特徴分支を作成:git checkout -b feat/amazing-feature
  3. 変更をコミット:git commit -m 'feat: add amazing feature'
  4. ブランチをプルリクエストで送信

問題が見つかったり機能の提案があれば、Issueに提出してください。

⚠️ 免責事項

  1. このプロジェクトは学習と技術研究のためにのみ使用してください、商業用途には使用しないでください。
  2. このプロジェクトは、任何のオーディオリソースを保存、配布しません、すべてのデータは酷狗音楽の公式インターフェースから取得されます。
  3. 音楽の著作権は酷狗音楽および関連する権利所有者に帰属します、正規の音楽をサポートしてください。
  4. このプロジェクトの使用から生じるすべての結果はユーザー自身の責任です、開発者とは関係ありません。

📄 ライセンス

このプロジェクトはGPL-2.0 Licenseに基づいてオープンソースです。