跳转到内容

Audio HTTP Media Source

audio_http 媒体源平台播放从 HTTP 和 HTTPS URL 流式传输的音频。音频通过网络获取并在设备上解码。

文件使用 http:// 或 https:// URI 方案播放。

此组件仅适用于 ESP32 芯片。

解码由 microDecoder 库 提供, 支持 MP3、FLAC、Opus(Ogg 封装)和 WAV。为保持固件体积小,MP3、FLAC 和 Opus 解码器仅在配置中的其他组件请求它们时才编译进来;WAV 始终可用。当以下任一条件为真时,编解码器将被启用:

# 示例配置条目
media_source:
- platform: audio_http
id: http_source

要播放文件,将媒体 URL(如 https://example.com/audio/alert.mp3)发送到使用此媒体源的媒体播放器。

HTTPS URL 会针对 ESP-IDF 捆绑的 X.509 证书存储(与其他 ESPHome 组件使用的 Mozilla 根 CA 列表相同)进行验证。默认情况下,ESPHome 仅包含 common-CA 子集,涵盖了绝大多数公共服务器;在 esp32 组件的高级选项下设置 use_full_certificate_bundle: true 可使用完整证书包。使用自签名证书或私有 CA 的服务器将无法连接。

若需连接此类服务器,请添加 http_request 组件并将 verify_ssl 设为 false。这将全局禁用构建中所有 TLS 连接的服务器证书验证(包括 audio_http 发起的连接)。仅在受信任的网络中使用。

  • id(可选,ID):手动指定此媒体源的 ID。
  • buffer_size(可选,int):用于在 HTTP 读取器和音频解码器之间传输数据的环形缓冲区大小(以字节为单位)。最小值为 5000,最大值为 1000000。默认为 50000。
  • task_stack_in_psram(可选,boolean):如果为 true,FreeRTOS 解码任务栈将分配在 PSRAM 而非内部 RAM 中。需要 psram 组件。默认为 false。
  • 媒体源 的所有其他选项。