README.md
May 28, 2026 · View on GitHub
📱 XMSLEEP
📱 屏幕截图
📱 关于
XMSLEEP 是一个专注于白噪音播放的 Android 应用,提供多种自然声音帮助您放松、专注和入眠。应用采用 Material Design 3 设计规范,界面简洁美观,操作流畅。
✨ 功能特性
🎵 音频功能
- 多种白噪音:提供雨声、篝火、雷声、猫咪呼噜、鸟鸣、夜虫等多种自然声音
- 网络音频:支持从 GitHub 动态加载更多音频资源
- 本地音频:支持播放手机中的音频文件
- 无缝循环:音频支持无缝循环播放,提供沉浸式体验
- 音量控制:支持单独调节每个声音的音量,或一键调整所有声音
- 音量持久化:音量设置会在应用重启后自动保留
- 蓝牙耳机支持:蓝牙耳机断开时自动暂停播放
🎨 界面与体验
- 精美动画:内置声音配有 webp 动画,增强视觉体验
- Material Design 3:采用最新的 Material Design 3 设计规范
- 主题切换:支持浅色/深色模式切换,适配系统主题
- 自定义主题:多种颜色主题可选,支持动态颜色
⚙️ 实用功能
- 倒计时功能:设置自动停止播放的时间,帮助您控制使用时长
- 预设播放区域:支持 3 个预设,每个预设可保存最多 10 个常用声音,快速切换场景
- 收藏功能:收藏喜欢的白噪音声音
- 最近播放:应用重启时显示最近播放弹窗,快速恢复上次播放
- 全局浮动按钮:显示正在播放的声音,支持快速暂停和展开查看
- 智能交互:悬浮按钮与预设弹窗互斥,滚动页面时自动收起
- 自动更新:支持通过 GitHub Releases 自动检查更新,下载状态持久化
🛠️ 技术栈
- Kotlin - 主要开发语言
- Jetpack Compose - 现代化 UI 框架
- Material Design 3 - UI 设计系统
- ExoPlayer/Media3 - 音频播放引擎,支持无缝循环
- OkHttp - 网络请求和文件下载
- Gson - JSON 解析
- Kotlinx Serialization - JSON 序列化
- Coil - 图片加载
- WebP - 动画支持(声音卡片动画)
- MaterialKolor - 动态主题色生成
- Accompanist - Pull-to-refresh 支持
📦 当前版本
- 版本号: 2.2.3
- Version Code: 38
- 最低支持: Android 8.0 (API 26)
- 目标版本: Android 15 (API 35)
🆕 最新更新 (v2.2.3)
🎨 新功能
- 一言一句桌面小组件:新增桌面小组件,显示时间、每日名言和刷新按钮
历史版本
v2.2.1
- 呼吸练习功能:新增呼吸引导功能,帮助用户进行放松练习
- 屏幕常亮功能:优化屏幕常亮设置,支持保持屏幕常亮
- 天气音频映射:优化天气与音频的映射关系,不同天气对应不同音效
🚀 下载
最新版本可在 GitHub Releases 下载。
📋 构建要求
- Android Studio: Hedgehog | 2023.1.1 或更高版本
- JDK: 17 或更高版本
- Android SDK: API 33 或更高版本
- Gradle: 8.0 或更高版本
🔨 构建步骤
-
克隆仓库
git clone https://github.com/Tosencen/XMSLEEP.git cd XMSLEEP -
配置 Gradle
- 复制
gradle.properties.example为gradle.properties - (可选)配置 GitHub Token 以提升 API 限制
- 复制
-
打开项目
- 使用 Android Studio 打开项目
- 同步 Gradle 依赖
-
运行项目
- 连接设备或启动模拟器
- 点击运行按钮
📖 使用说明
基本操作
- 播放声音:点击声音卡片开始播放,再次点击停止
- 调整音量:播放时点击卡片右下角的音量图标,可以单独调节每个声音的音量
- 设置倒计时:点击右下角的倒计时按钮,设置自动停止时间
界面操作
- 切换主题:点击左上角的主题切换按钮,在浅色和深色模式之间切换
- 自定义设置:在设置页面可以调整主题颜色、隐藏动画等
- 预设管理:点击声音卡片标题,选择"添加到预设"可将声音添加到当前预设
- 预设切换:在底部预设区域可以切换 3 个不同的预设,每个预设最多保存 10 个声音
- 收藏功能:点击声音卡片标题,选择"收藏"可将声音添加到收藏列表
高级功能
- 全局浮动按钮:当有声音播放时,会出现浮动按钮,点击可展开查看正在播放的声音
- 批量添加到预设:在浮动按钮展开状态下,可以将正在播放的声音批量添加到当前预设
- 智能收起:滚动页面或切换标签时,浮动按钮会自动收起,避免遮挡内容
⚠️ 声音来源说明
本应用中的声音来源如下:
- 内置声音:来自开源音频资源库
- 网络声音:来自 moodist 项目,遵循 MIT 开源许可协议
- 第三方资源:部分声音来自第三方提供商,遵循相应的许可协议
- 遵循 Pixabay Content License 的声音:Pixabay Content License
- 遵循 CC0 的声音:Creative Commons Zero License
📄 许可证
本项目采用 MIT License 许可证。
🤝 贡献
欢迎提交 Issue 和 Pull Request!
贡献指南
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
👤 作者
Tosencen
- GitHub: @Tosencen
🙏 致谢
- moodist - 网络音频资源来源
- Material Design 3 - UI 设计规范
- MaterialKolor - 动态颜色方案
⭐ 如果这个项目对你有帮助,请给个 Star!
© 2026 XMSLEEP. All rights reserved.





