这个项目能做什么

# Astra Astra 是一款为维护本地音乐库的用户设计的桌面音乐播放器。它原生支持 FLAC、MP3、WAV、OGG、AAC、M4A、OPUS、WMA、AIFF、ALAC、APE 和 WavPack 等格式,并通过 FFmpeg 作为其他格式的回退方案。预缓冲的无缝播放确保专辑流畅衔接。 ## 主要功能 - **位完美输出**:绕过操作系统混音器,通过 Windows 上的 WASAPI Exclusive、macOS 上的 CoreAudio HAL 和 Linux 上的 ALSA hw 直接输出到硬件。 - **空间音频**:原生 IAMF/Eclipsa Audio 播放,是首个支持该功能的通用桌面音乐库播放器。包含 Dolby Atmos 多声道解码,无需兼容 Atmos 的硬件。具备逐声道检查、重映射、输出延迟校准,以及用于 3D 扬声器摆放和实时双耳渲染的虚拟扬声器房间。 - **Parallax**:在本地网络中的多台机器之间同步多房间播放。一台主机控制播放;其他设备作为扬声器加入,支持 PIN 配对和逐扬声器延迟调校。需主动启用,属于实验性功能。 - **可视化器**:由原生 C++ 模块驱动的七种实时可视化器,包括示波器、频谱分析仪和矢量示波器。可自定义示波器机架,支持拖拽调整布局和预设。 - **均衡器**:最多 20 个全参数频段,带频谱叠加的实时频率响应图,内置预设,以及 AutoEQ 耳机校准配置文件导入。 - **音乐库管理**:元数据提取、专辑封面、按艺术家/专辑/曲目搜索浏览、ID3v2.4 和 Vorbis Comments 支持、多艺术家标签解析、自定义艺术家图片、.lrc 文件扫描、收藏、最近播放记录,以及内置元数据编辑器。 - **Astra Resolve**:利用音乐库上下文区分单一艺术家署名与合作署名,在不重写文件或外部元数据的情况下保持艺术家链接准确。 - **音频设置**:输出设备选择、ReplayGain 响度归一化、逐声道重映射,以及无线/蓝牙扬声器的延迟校准。 - **界面**:波形进度条、带环境频谱背景的全屏模式、迷你播放器、自动同步歌词(来自内嵌歌词、.lrc 文件或 LRCLIB),以及弹出式歌词面板。 - **Scrobbling**:内置支持 Last.fm、AudioScrobbler 和 ListenBrainz,以及自定义 scrobbler 配置文件和向多个服务同时 scrobble。 - **集成**:可选的 Discord Rich Presence 和自托管媒体服务器支持(Jellyfin、Subsonic 兼容的 Navidrome、Airsonic、Gonic、Funkwhale)。 - **Astra API**:可选的配套 API,带 bearer 认证,供外部工具观察/控制播放、搜索、管理队列和收藏。支持 /v1 和 /v2 契约。 - **实验性功能**:PWA 手机控制器、音乐库完整性扫描器、图形可视化、环境立体声转多声道上混、5×5 网格活动指示器,以及控制器支持(Xbox/PlayStation)。 ## 下载与安装 Windows、macOS 和 Linux 的预构建二进制文件可在 Releases 页面获取。也可通过 AUR(`astra-music-bin`)和 Windows `winget install Boof2015.Astra` 安装。社区维护的软件包包括 AUR 源码包和适用于 Fedora/RPM 的 TerraPKG。 ## 从源码构建 需要 Node.js 18+、npm 和 C++ 编译器工具链。克隆仓库,运行 `npm install`(会编译原生可视化器模块),然后使用 `npm run dev`、`npm run build` 或 `npm run dist` 进行打包。 ## 文档与支持 详细技术文档见 Wiki。项目采用 GPL v3.0 许可,可通过 Ko-fi 支持开发。