littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Linux的音频定时播放系统

项目简介

本项目名为 rsked(radio scheduler),是一个 Linux 应用程序,可按照每周时间表在特定时间播放各种音频源,无需人工干预。该项目最初为因残疾无法操作传统音频设备的人群开发,能让用户在无网络或网络不可靠环境中,无需依赖他人控制设备就能享受各种音频节目。它既可以作为嵌入式应用程序在低成本低功耗的微系统(如树莓派 3)上运行,也能在 x86 桌面计算机等任何带有声卡的 Linux 计算机上运行。

项目的主要特性和功能

  1. 简单的日程安排:通过简单的 JSON 文件定义每周节目时间表。
  2. 网页交互:提供基于 Web 的日程编辑器和日志查看器。
  3. 多格式音频播放:支持播放 MP3、MP4、FLAC、Ogg - Vorbis 等格式的文件、目录或播放列表。
  4. 网络音频播放:可播放互联网音频流。
  5. FM 广播播放:借助廉价的 SDR 硬件播放 FM 广播,包括 HD 广播。
  6. 定时音频消息:可在预定时间播放音频“每日消息”。
  7. 音频源故障处理:能检测音频源故障,并切换到预设的备份源。
  8. 多平台支持:可在树莓派 3 或 x86_64 上运行,无需屏幕。
  9. 可选交互功能:支持使用 snooze 按钮暂停或恢复播放(可选,通过 GPIO),状态 LED 指示(可选,通过 GPIO),以及控制主动散热(可选,通过 GPIO)。
  10. 日志记录与监控:记录操作日志以便远程监控,还可进行蓝牙状态监控和设置(可选)。

安装使用步骤

前提条件

假设已下载本项目的源码文件,并且用户已将所需的外部音频播放器单独安装好。

安装与配置步骤

  1. 编译和安装:编译并安装 rsked 软件以及外部音频播放器。具体安装说明见 INSTALLATION
  2. 调整配置参数:根据需求调整配置参数以选择所需的功能。配置文件和命令行选项参考 CONFIGURATION
  3. 添加音乐文件:安装所需的录制音乐文件。
  4. 配置日程:配置一个引用本地和远程音乐源的“日程”。
  5. 设置自动启动:对于嵌入式设备,设置 rsked 在设备启动时自动启动。对于树莓派平台的详细硬件、布线和配置说明,可参考 README - RPi

外部音频播放器选择

  • 录制音乐:可使用 mpdogg123mpg321vlc 等应用程序播放录制音乐。其中 ogg123 用于播放 Ogg - Vorbis 录音,也是 rsked 播放公告所必需的;mpd 经过了与 rsked 的广泛测试,能播放多种音频文件;vlc 功能也很强大;mpg321 适合播放 MP3 文件。
  • 流媒体:上述应用程序也可处理流媒体源,如互联网广播电台。rsked 能检测并响应流媒体连接中断问题,其中 mpd 表现较为稳定。
  • FM 广播:使用软件定义无线电(SDR)来安排播放空中 FM 广播。连接如 RTL - 2832U 这样的廉价 USB SDR 无线电加密狗,然后在日程中配置所需的频率。rsked 使用 gqrx(修改后的分支)或 nrsc5(与 RTL - SDR 加密狗兼容的 HD - FM 接收器)。

其他应用程序说明

  • cooling 应用程序:作为 rsked 的监控程序,建议在嵌入式应用中使用。可根据 CPU 温度控制散热风扇,以所需选项启动 rsked,在 rsked 停止时重启它,向 rsked 发送按钮按下信号,控制外部 LED 指示状态。
  • VUmonitor 应用程序:可选应用程序,由 rsked 启动。持续监控输送到 Linux 声音系统的音频输出电平,当音频长时间静音或恢复时向 rsked 发送信号,帮助 rsked 检测音频源“无声”故障。
  • check_inet.sh 应用程序:可选应用程序,定期验证是否有可用于流媒体的互联网连接。rsked 利用此数据确定是否适合使用互联网流媒体源。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】