文章摘要
Petrichor 是一款专为 macOS 设计的离线音乐播放器,用户可以通过 GitHub 下载并安装。该项目提供了详细的下载链接和状态信息,并遵循开源许可证,适合需要在本地播放音乐的用户使用。
文章总结
项目概述
Petrichor 是一款专为 macOS 设计的离线音乐播放器,旨在为用户提供一个功能丰富且易于使用的本地音乐管理工具。该项目由 kushalpandya 开发,并托管在 GitHub 上。
主要功能
- 离线音乐播放:支持本地音乐文件的播放和管理。
- 音乐库管理:用户可以映射音乐文件夹,并在有序视图中浏览音乐库。
- 播放列表管理:支持创建播放列表,并交互式管理播放队列。
- 文件夹视图:允许用户通过文件夹视图浏览音乐。
- 侧边栏快捷访问:支持将几乎任何内容(如专辑、艺术家等)固定到侧边栏,方便快速访问。
- 导航功能:右键点击曲目可快速跳转到其专辑、艺术家、年份等信息。
- macOS 集成:支持原生 macOS 功能,如菜单栏和 Dock 播放控制,以及深色模式。
- 快速搜索:支持在包含数千首歌曲的大型音乐库中快速搜索。
计划功能
- 智能播放列表:支持用户配置的条件过滤器。
- AirPlay 2 支持:支持通过 AirPlay 2 进行音乐投射。
- 迷你播放器和全屏模式:提供更多播放界面选项。
- 自动应用内更新:支持应用内自动更新。
- 在线专辑和艺术家信息获取:支持从在线资源获取专辑和艺术家信息。
系统要求
- 操作系统:macOS 14 或更高版本。
安装步骤
- 前往 Releases 页面,下载最新的
.dmg文件。 - 打开
.dmg文件,将应用图标拖拽到“应用程序”文件夹中。 - 在“应用程序”中,右键点击 Petrichor > 打开。
开发背景
开发者因对现有 macOS 离线音乐播放器(如 Swinsian)的功能不足感到不满,决定开发 Petrichor。该项目不仅满足了开发者的个人需求,还帮助其学习了 Swift 和 macOS 应用开发。
技术实现
- 开发语言:使用 Swift 和 SwiftUI 构建,以实现最佳的 macOS 集成。
- 数据库:使用 SQLite 数据库(通过 GRDB 库)存储音乐库信息。
- 文件处理:Petrichor 不会修改用户的音乐文件,仅从添加的目录中读取数据。
- 搜索功能:基于 SQLite FTS5 实现快速搜索,并支持内存搜索作为备用方案。
- 播放功能:使用 AVFoundation 框架实现音乐播放。
数据库架构
Petrichor 的数据库架构包括多个表,如 folders、artists、albums、tracks 等,用于管理音乐库的各个部分。
开发环境设置
- 确保运行 macOS 14 或更高版本。
- 安装 Xcode。
- 安装 xcpretty 和 create-dmg 以构建
.dmg安装包。
许可证
Petrichor 采用 MIT 许可证。
致谢
- Paul Hudson:感谢其提供的 Swift 教程。
- create-dmg:感谢 Sindre Sorhus 提供的工具。
- Claude by Anthropic:感谢其在项目开发中的协助。
截图

评论总结
评论总结:
正面评价与期待
- 许多用户对应用的发布表示祝贺,并赞赏其界面设计和功能。
- "Congratulations on the release! This looks really cool!"(“祝贺发布!这看起来真的很酷!”)
- "I love the clean, modern UI."(“我喜欢这种干净、现代的界面。”)
- 部分用户希望应用能支持iOS平台,并实现与iPhone的同步功能。
- "Pleaaaaaaaase make this available on iOS."(“请务必在iOS上发布。”)
- "I truly hope you’ll bring this to iOS."(“我真心希望你能把它带到iOS。”)
- 许多用户对应用的发布表示祝贺,并赞赏其界面设计和功能。
功能需求与改进建议
- 用户对高保真音频格式(如FLAC、ALAC)的支持表示关注。
- "Does it have FLAC support (or other high res audio formats)?"(“它支持FLAC或其他高解析音频格式吗?”)
- "Will it support playing lossless files in FLAC or ALAC format?"(“它会支持播放FLAC或ALAC格式的无损文件吗?”)
- 部分用户希望应用能支持更多平台(如MacPorts)和功能(如m4b有声书、AirPlay)。
- "Please consider publishing on MacPorts too."(“请考虑也在MacPorts上发布。”)
- "Airplay is kind of a must."(“Airplay几乎是必备功能。”)
- 用户对高保真音频格式(如FLAC、ALAC)的支持表示关注。
与其他应用的比较
- 一些用户将应用与iTunes、Winamp、Swinsian等经典音乐播放器进行比较,并提出了对“老派iTunes”体验的期待。
- "How’s this compare to the native macos music app formerly known as itunes?"(“这与之前被称为iTunes的macOS原生音乐应用相比如何?”)
- "For me, the ideal music player UI started and ended with Winamp."(“对我来说,理想的音乐播放器界面始于Winamp,也终于Winamp。”)
- 一些用户将应用与iTunes、Winamp、Swinsian等经典音乐播放器进行比较,并提出了对“老派iTunes”体验的期待。
质疑与问题
- 部分用户对应用的系统要求(如macOS 14)和安全性(如恶意软件警告)表示担忧。
- "That’s a pretty high bar for a Mac app."(“这对Mac应用来说门槛相当高。”)
- "Get a malware warning when trying to open disk image."(“尝试打开磁盘映像时收到恶意软件警告。”)
- 部分用户对应用的系统要求(如macOS 14)和安全性(如恶意软件警告)表示担忧。
音乐收藏与习惯的讨论
- 有用户提到流媒体时代音乐收藏习惯的改变,并询问如何合法地支持艺术家。
- "How do people collect music nowadays? Is there a legit way (fairly compensating artists) to do it?"(“如今人们如何收藏音乐?有没有合法的方式(公平地补偿艺术家)?”)
- 有用户提到流媒体时代音乐收藏习惯的改变,并询问如何合法地支持艺术家。
总结:
评论中,用户对应用的设计和功能普遍持积极态度,但也提出了对高保真音频支持、跨平台兼容性、功能扩展等方面的需求。同时,部分用户对系统要求和安全性表示担忧,并对音乐收藏习惯的变迁展开了讨论。