ローカル音楽、アルバムフォルダ、動画付き音声ファイル、URL 再生を 1 つのウィンドウで扱えるクロスプラットフォームデスクトッププレイヤーです。Avalonia + LibVLC ベースなので、Windows / macOS / Linux で同じコードを動かせます。
mp3wavm4aaacflacoggなどのローカル再生mp4movwmvmkvwebmなどの音声トラック再生- フォルダをアルバムとしてまとめて読み込み
- URL / ファイルパス / フォルダパスを同じ入力欄から追加
- ドラッグアンドドロップでファイルやフォルダを追加
- 最近再生したアルバム / 曲の履歴
yt-dlpによる URL 音声取得とキャッシュffmpegによる変換とキャッシュ- Discord Rich Presence
- Windows
- macOS
- Linux / Unix 系デスクトップ
- GitHub Releases から自分の OS / CPU に合う配布アーカイブをダウンロードします。
- 好きな場所へ展開します。
SimpleMusicPlayerを起動します。
Windows 版だけは、初回起動時にアプリ内からセットアップ確認が出ます。これを実行すると次を自動で行います。
- Start Menu ショートカット作成
PATHへのアプリフォルダ追加- Explorer の右クリックメニュー追加
Open with/Default apps向けの関連付け候補登録yt-dlpdenoffmpegの不足時ダウンロード
Windows で手動実行したい場合:
powershell -ExecutionPolicy Bypass -File .\Install-SimpleMusicPlayer.ps1Windows でセットアップ内容を削除したい場合:
powershell -ExecutionPolicy Bypass -File .\Uninstall-SimpleMusicPlayer.ps1このアンインストーラーは Start Menu ショートカット、PATH 追加、Explorer 右クリックメニュー、Open with / Default apps 登録、Windows のアンインストール登録、セットアップ状態を削除します。再生履歴などのローカルデータも消す場合は -RemoveUserData、URL 再生キャッシュは -RemoveCache、同梱ダウンロード済みツールは -RemoveBundledTools、展開フォルダ自体も消す場合は -RemoveAppDirectory を付けて実行します。
macOS / Linux では Windows 用セットアップスクリプトは使いません。必要な外部ツールは次のどちらかで解決してください。
PATHにyt-dlpffmpegと JS runtime (denonodebunqjs) を入れる- 展開フォルダ配下の
tools/に置く
配置例:
tools/yt-dlp/yt-dlptools/ffmpeg/ffmpegtools/deno/deno
Windows ではそれぞれ .exe 付きでも同様に認識します。
Linux では libvlc 本体はシステム側で入れておく前提です。例:
- Debian / Ubuntu:
sudo apt install vlc libvlc-dev - Arch:
sudo pacman -S vlc - Fedora:
sudo dnf install vlc
- ファイルを再生したい:
Openを押すか、ファイルをウィンドウへドラッグします。 - アルバムごと再生したい:
Add Albumを押すか、フォルダをドラッグします。 - URL を再生したい: 入力欄へ URL を貼って
Addを押します。 - パスを直接入れたい: 入力欄へファイルパスやフォルダパスを貼って
Addを押します。
Space: 再生 / 一時停止Left/Right: 5 秒シークCtrl+Left/Ctrl+Right: 前の曲 / 次の曲
Recent AlbumsとRecent Tracksに最大 20 件ずつ保存します。- 保存先は各 OS の Local Application Data 配下です。
- ダブルクリックでそのまま再生し直せます。
- URL 再生には
yt-dlpが必要です。 - YouTube 系 URL を安定して再生するには JavaScript runtime (
denonodebunqjs) も必要です。 webmmkvopusなどの変換にはffmpegが必要です。- 取得済み音声は
cache/yt-dlp/、変換済み音声はcache/transcoded/に保存されます。
Discord のアクティビティには、再生中の曲名が自動で表示されます。
UI の起動自体は次でできます。
dotnet run実際の再生確認は、対象 OS の RID を付けてネイティブ LibVLC を一緒に解決する前提を推奨します。Linux は RID publish に加えてシステム libvlc を入れてください。
dotnet run -r win-x64例:
dotnet run -- --album "D:\Music\Some Album" --loop alldotnet run -- "D:\Music\track1.mp3" "https://www.youtube.com/watch?v=dQw4w9WgXcQ"--album <folder>: フォルダ内の対応ファイルを名前順で読み込み--shuffle: 読み込み時にシャッフル--index <n>: 開始トラック番号。0始まり--loop none|all|one: 初期ループモード- 位置引数: ローカルファイル / フォルダ /
http(s)URL
dotnet build -c ReleaseOS ごとに RuntimeIdentifier を指定して publish します。
Windows:
powershell -ExecutionPolicy Bypass -File .\scripts\Publish-Release.ps1 -RuntimeIdentifier win-x64macOS Apple Silicon:
powershell -ExecutionPolicy Bypass -File .\scripts\Publish-Release.ps1 -RuntimeIdentifier osx-arm64Linux x64:
powershell -ExecutionPolicy Bypass -File .\scripts\Publish-Release.ps1 -RuntimeIdentifier linux-x64既定の出力先は .\publish\SimpleMusicPlayer-<rid>\ です。Windows publish だけ Install-SimpleMusicPlayer.ps1 と Uninstall-SimpleMusicPlayer.ps1 を同梱します。
- GitHub Actions は
v0.5.2のようなタグ push でwin-x64osx-x64osx-arm64linux-x64を publish し、それぞれ zip を Release に添付します。 workflow_dispatchでも同じ artifact を取得できます。
git tag v0.5.2
git push origin main v0.5.2