12浏览
查看: 12|回复: 0

[ESP8266/ESP32] ESP32-S3 AI cam网络收音机

[复制链接]
本帖最后由 麦壳maikemaker 于 2025-4-29 20:55 编辑

前面写了小白避坑,收集资料学习的过程中,有人做esp32网络收音机,于是让大模型写了一个demo。

首先准备网络音频链接
安装浏览器插件“猫爪”ESP32-S3 AI cam网络收音机图1,教程https://cat-catch.bmmmd.com/
打开蜻蜓FM:https://www.qtfm.cn/播放你喜欢的广播或者有声书等
ESP32-S3 AI cam网络收音机图2

安装Arduino
ESP32-S3 AI cam网络收音机图3

代码
  1. #include <Arduino.h>
  2. #include <WiFi.h>
  3. #include <WiFiMulti.h>
  4. #include "Audio.h"  // 使用ESP32-audioI2S库
  5. // 硬件配置(匹配MAX98357A模块)
  6. #define I2S_BCLK 45  // 位时钟
  7. #define I2S_LRC  46  // 左右声道时钟
  8. #define I2S_DOUT 42  // 数据输出
  9. // 网络配置
  10. const char* ssid = "waoo2111280";
  11. const char* password = "waoo2111280";
  12. Audio audio;
  13. WiFiMulti wifiMulti;
  14. void setup() {
  15.   Serial.begin(115200);
  16.   
  17.   // 初始化I2S引脚
  18.   audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
  19.   audio.setVolume(12); // 音量范围0-21
  20.   // 连接WiFi
  21.   WiFi.begin(ssid, password);
  22.   while (WiFi.status() != WL_CONNECTED) {
  23.     delay(500);
  24.     Serial.print(".");
  25.   }
  26.   Serial.println("\nWiFi connected");
  27.   // 播放网络音频(示例URL)
  28.   audio.connecttohost("https://lhttp-hw.qtfm.cn/live/1947/64k.mp3"); // 替换为你的音频流URL
  29. }
  30. void loop() {
  31.   audio.loop(); // 必须持续调用以处理音频流
  32.   
  33.   // 通过串口输入新URL(可选功能)
  34.   if (Serial.available()) {
  35.     audio.stopSong();
  36.     String url = Serial.readString();
  37.     url.trim();
  38.     if (url.length() > 5) {
  39.       audio.connecttohost(url.c_str());
  40.     }
  41.   }
  42. }
  43. // 可选:音频事件回调函数
  44. void audio_info(const char *info) {
  45.   Serial.print("Audio Info: "); Serial.println(info);
  46. }
复制代码


修改音频链接:ESP32-S3 AI cam网络收音机图4

编译并上传即可。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail