Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

280 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📱 XMSLEEP

一个专注于白噪音播放的 Android 应用,帮助你放松、专注和入眠。

License Kotlin Android Web

下载应用功能特性使用说明网页版

Language: 中文 | 繁體中文 | English | 한국어 | Русский | 日本語

Featured|HelloGitHub

📱 屏幕截图

截图1 截图2 截图3
截图4 截图5 截图6

🌐 网页版

无需安装,浏览器中直接体验全部功能:113 种自然声音自由混音 · 无缝循环 · 6 种语言 · 倒计时定时,声音清单与手机 App 同步。

👉 在线播放tosencen.github.io/XMSLEEP/player.html

App 内 设置 → 其他 → 网页版 也可一键直达并复制链接分享。


📱 关于

XMSLEEP 是一个专注于白噪音播放的 Android 应用,提供多种自然声音帮助您放松、专注和入眠。应用采用 Material Design 3 设计规范,界面简洁美观,操作流畅。

✨ 功能特性

🎵 音频功能

  • 多种白噪音:提供雨声、篝火、雷声、猫咪呼噜、鸟鸣、夜虫等多种自然声音
  • 网络音频:支持从 GitHub 动态加载更多音频资源
  • 本地音频:支持播放手机中的音频文件,顺序/随机/单曲循环模式
  • 无缝循环:音频支持无缝循环播放,提供沉浸式体验
  • 音量控制:支持单独调节每个声音的音量,或一键调整所有声音
  • 音量持久化:音量设置会在应用重启后自动保留
  • 蓝牙耳机支持:蓝牙耳机断开时自动暂停播放
  • B站电台:支持搜索和播放 Bilibili 直播电台,可收藏常用房间
  • 音频互斥:本地音频与白噪音播放互斥,自动切换

🎨 界面与体验

  • 精美动画:内置声音配有 webp 动画,增强视觉体验
  • Material Design 3:采用最新的 Material Design 3 设计规范
  • 主题切换:支持浅色/深色模式切换,适配系统主题
  • 自定义主题:多种颜色主题可选,支持动态颜色
  • 自定义背景:支持上传图片/视频作为应用背景,透明度/模糊度可调

⚙️ 实用功能

  • 倒计时功能:设置自动停止播放的时间,帮助您控制使用时长
  • 预设播放区域:支持 3 个预设,每个预设可保存最多 10 个常用声音,快速切换场景
  • 收藏功能:收藏喜欢的白噪音声音
  • 最近播放:应用重启时显示最近播放弹窗,快速恢复上次播放
  • 全局浮动按钮:显示正在播放的声音,支持快速暂停和展开查看
  • 智能交互:悬浮按钮与预设弹窗互斥,滚动页面时自动收起
  • 自动更新:支持通过 GitHub Releases 自动检查更新,下载状态持久化
  • 简化版模式:极简界面,3列瀑布流直接展示所有白噪音,无需分类浏览
  • 天气智能推荐:根据当前天气自动推荐合适的声音,支持 Lottie 动画显示

🌐 网页版

  • 在线播放器:浏览器即开即用,113 种自然声音自由混音、无缝循环、音量独立控制
  • 多语言界面:支持中文/英文/日文/韩文/俄文/繁体中文 6 种语言
  • 倒计时定时:支持自定义倒计时,定时停止,时间实时显示
  • 正在播放面板:实时查看/停止/调节音量,播放数量一目了然
  • 加载优化:首屏预取 + LRU 缓存,重播秒开

🛠️ 技术栈

  • Kotlin - 主要开发语言
  • Jetpack Compose - 现代化 UI 框架
  • Material Design 3 - UI 设计系统
  • ExoPlayer/Media3 - 音频播放引擎,支持无缝循环
  • OkHttp - 网络请求和文件下载
  • Gson - JSON 解析
  • Kotlinx Serialization - JSON 序列化
  • Coil - 图片加载
  • WebP - 动画支持(声音卡片动画)
  • MaterialKolor - 动态主题色生成
  • Accompanist - Pull-to-refresh 支持
  • Hilt - 依赖注入框架
  • Lottie - 高质量动画渲染(天气图标动画)
  • Web Audio API - 网页版无缝循环播放(采样级无缝)

📦 当前版本

  • 版本号: 2.3.1
  • Version Code: 46
  • 最低支持: Android 8.0 (API 26)
  • 目标版本: Android 15 (API 35)

🆕 最新更新 (v2.3.1)

🎨 新功能

  • 网页版在线播放器:新增 GitHub Pages 网页版,113 种自然声音自由混音、无缝循环、6 种语言界面,声音与 App 同步,无需安装即开即用
  • App 网页版入口:设置页「其他」模块新增「网页版」入口,一键跳转在线播放器,支持复制链接分享
  • 黑白模式主题:新增黑白主题,极简视觉风格
  • 番茄钟后台计时:离开页面后计时继续走,标尺显示当前阶段时长
  • 番茄设置弹窗卡片化:卡片化弹窗 + 结束铃声试听 + 休息时长可调
  • 通知栏冥想控制:通知栏/锁屏可直接控制冥想音频播放
  • 数量字符串复数化:英文/俄语等多语言数量显示本地化(plurals)

✨ 改进

  • 权限收紧:精简权限声明,降低隐私暴露面
  • Firebase 统计与崩溃上报:匿名使用统计与崩溃收集,不收集个人身份信息
  • 依赖升级:okhttp 5.3.2、gson 2.11.0、androidx.media 1.8.0、core-splashscreen 1.2.0
  • 资源与签名整理

🐛 修复

  • 自定义倒计时显示问题
  • 呼吸服务注册、通知本地化

历史版本

v2.3.0

🎨 新功能

  • 番茄时钟结束铃声:内置 4 种免版权铃声(钟声/叮咚/木琴/风铃),专注结束自动响铃
  • 番茄时钟结束震动:专注结束自动震动提醒,支持设置开关
  • 番茄设置弹窗:番茄页右上角齿轮入口,可设置结束铃声、完成描边动画、震动提醒,弹窗完整展开
  • 铃声/震动响 3 次:结束铃声与震动各重复 3 次后自动停止,提醒更明显
  • 专注结束手动开始休息:专注结束后不再自动进入休息,显示「开始休息」按钮由用户手动触发
  • 冥想循环次数:冥想详情页倒计时改为「循环次数」,支持循环 1/2/3 次后自动停止,与无限循环互斥
  • 天气模式番茄入口:天气模式右上角新增番茄时钟快捷入口

✨ 改进

  • 番茄设置弹窗多语言:支持中文/英文/日文/韩文/俄文/繁体中文
  • 震动实现优化:改用系统 Vibrator 直接震动并补充 VIBRATE 权限,可靠性提升
  • 版本号升级:2.2.9 → 2.3.0

历史版本

v2.2.9

🎨 新功能

  • 简化版白噪音模式:全新简化版界面,3列瀑布流直接展示所有白噪音,无需分类,一键进入沉浸式播放
  • 简化版天气组件:右上角实时显示天气(Lottie 动画 + 温度 + 描述),支持离线缓存
  • 简化版倒计时:右下角定时器按钮,支持播放时定时停止
  • 简化版音量控制:长按声音卡片可调整单个音量
  • 简化版持久化:退出简化版后再次打开 App 自动恢复简化版界面
  • 简化版多语言:简化版界面支持中文/英文/日文/韩文/俄文/繁体中文
  • 天气 Lottie 动画:设置页面天气图标替换为 Meteocons Lottie 动画(11种天气,白天/夜间自动切换)
  • 天气缓存优化:天气数据缓存延长至3小时,首次加载静默刷新,失败时保留旧缓存

✨ 改进

  • 设置页面重构:标题行整合「简化版」入口按钮和天气设置按钮
  • 简化版返回按钮:使用 low_priority 图标,字号 18sp,更易点击
  • 版本号升级:2.2.8 → 2.2.9

历史版本

v2.2.8

  • 背景系统重构:全新全屏弹窗设计,支持内置背景、自定义图片/视频背景
  • 背景预览:新增手机预览 mock,实时展示背景效果
  • 内置背景精简:保留 bg_1 和 bg_6 两个精选背景
  • 本地音频播放模式:支持顺序播放、随机播放、单曲循环
  • 音频互斥:本地音频播放自动暂停白噪音,白噪音播放自动停止本地音频
  • 进度保存/恢复:本地音频播放位置自动保存,下次打开恢复上次进度
  • 天气推荐预设按钮:天气智能推荐页面右上角新增预设快捷入口

历史版本

v2.2.3

  • 一言一句桌面小组件:新增桌面小组件,显示时间、每日名言和刷新按钮

v2.2.1

  • 呼吸练习功能:新增呼吸引导功能,帮助用户进行放松练习
  • 屏幕常亮功能:优化屏幕常亮设置,支持保持屏幕常亮
  • 天气音频映射:优化天气与音频的映射关系,不同天气对应不同音效

🚀 下载

最新版本可在 GitHub Releases 下载。

📋 构建要求

  • Android Studio: Ladybug | 2024.2.1 或更高版本
  • JDK: 17 或更高版本
  • Android SDK: API 33 或更高版本
  • Gradle: 8.0 或更高版本

🔨 构建步骤

  1. 克隆仓库

    git clone https://github.com/Tosencen/XMSLEEP.git
    cd XMSLEEP
  2. 配置 Gradle

    • 复制 gradle.properties.examplegradle.properties
    • (可选)配置 GitHub Token 以提升 API 限制
  3. 打开项目

    • 使用 Android Studio 打开项目
    • 同步 Gradle 依赖
  4. 运行项目

    • 连接设备或启动模拟器
    • 点击运行按钮

📖 使用说明

基本操作

  1. 播放声音:点击声音卡片开始播放,再次点击停止
  2. 调整音量:播放时点击卡片右下角的音量图标,可以单独调节每个声音的音量
  3. 设置倒计时:点击右下角的倒计时按钮,设置自动停止时间

界面操作

  1. 切换主题:点击左上角的主题切换按钮,在浅色和深色模式之间切换
  2. 自定义设置:在设置页面可以调整主题颜色、隐藏动画等
  3. 预设管理:点击声音卡片标题,选择"添加到预设"可将声音添加到当前预设
  4. 预设切换:在底部预设区域可以切换 3 个不同的预设,每个预设最多保存 10 个声音
  5. 收藏功能:点击声音卡片标题,选择"收藏"可将声音添加到收藏列表
  6. B站电台:在电台页面点击搜索按钮,可按分类搜索 Bilibili 直播间,点击图钉图标收藏常用房间

高级功能

  1. 全局浮动按钮:当有声音播放时,会出现浮动按钮,点击可展开查看正在播放的声音
  2. 批量添加到预设:在浮动按钮展开状态下,可以将正在播放的声音批量添加到当前预设
  3. 智能收起:滚动页面或切换标签时,浮动按钮会自动收起,避免遮挡内容

⚠️ 声音来源说明

本应用中的声音来源如下:

  • 内置声音:来自开源音频资源库
  • 网络声音:来自 moodist 项目,遵循 MIT 开源许可协议
  • 第三方资源:部分声音来自第三方提供商,遵循相应的许可协议

🔒 隐私说明

本应用重视您的隐私保护。为改进产品体验,应用会收集匿名使用统计(如活跃用户数、崩溃报告),不会收集任何个人身份信息。

📄 许可证

本项目采用 MIT License 许可证。

🤝 贡献

欢迎提交 Issue 和 Pull Request!

贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

👤 作者

Tosencen

🙏 致谢


⭐ 如果这个项目对你有帮助,请给个 Star!

© 2026 XMSLEEP. All rights reserved.

About

一款白噪音应用送给你,祝您牛掰,有的是钱

Topics

Resources

Stars

1.3k stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages