snapclient:ESP32上的WIP snapclient

上传者: 42129412 | 上传时间: 2023-06-24 08:46:01 | 文件大小: 147KB | 文件类型: ZIP
C
ESP32的Snapcast客户端 用于同步音频流客户端移植到ESP32 功能清单 当前支持Opus和PCM解码 通过menuconfig进行Wifi设置 自动连接到网络上的快照服务器 Wroom模块上的缓冲区长达150 ms 在Wrover模块上的缓冲区足够多 从Snapcast服务器控制多室同步延迟400ms-2000ms 描述 我继续从@badaix和@bridadan到ESP32 Snapcast客户端的工作。当前,它支持基本功能,例如多音色同步,网络控制的音量和静音。目前,它仅支持Opus和PCM 16bit / 48Khz音频流,并且同步化部分仍在研究中。 请查看任务列表,随时填写。 我使用了英飞凌MA12070P多级D类组合编码/放大器,因为它在高电源轨上具有出色的功率效率。它可以使电池电源系统在正常收听级别下具有良好的播放时间,并且仍然具有启动聚会的动力。 程式库 该代码库

文件下载

资源详情

[{"title":"( 87 个子文件 147KB ) snapclient:ESP32上的WIP snapclient","children":[{"title":"snapclient-master","children":[{"title":".gitignore <span style='color:#111;'> 31B </span>","children":null,"spread":false},{"title":"components","children":[{"title":"ota_server","children":[{"title":"component.mk <span style='color:#111;'> 453B </span>","children":null,"spread":false},{"title":"ota_server.c <span style='color:#111;'> 7.82KB </span>","children":null,"spread":false},{"title":"include","children":[{"title":"ota_server.h <span style='color:#111;'> 255B </span>","children":null,"spread":false}],"spread":true},{"title":"CMakeLists.txt <span style='color:#111;'> 162B </span>","children":null,"spread":false}],"spread":true},{"title":"wifi_interface","children":[{"title":"wifi_interface.c <span style='color:#111;'> 3.88KB </span>","children":null,"spread":false},{"title":"component.mk <span style='color:#111;'> 23B </span>","children":null,"spread":false},{"title":"Kconfig.projbuild <span style='color:#111;'> 555B </span>","children":null,"spread":false},{"title":"include","children":[{"title":"wifi_interface.h <span style='color:#111;'> 785B </span>","children":null,"spread":false}],"spread":true},{"title":"CMakeLists.txt <span style='color:#111;'> 94B </span>","children":null,"spread":false}],"spread":true},{"title":"dsp_processor","children":[{"title":"component.mk <span style='color:#111;'> 496B </span>","children":null,"spread":false},{"title":"Kconfig.projbuild <span style='color:#111;'> 672B </span>","children":null,"spread":false},{"title":"dsp_processor.c <span style='color:#111;'> 22.20KB </span>","children":null,"spread":false},{"title":"include","children":[{"title":"dsp_processor.h <span style='color:#111;'> 816B </span>","children":null,"spread":false}],"spread":true},{"title":"CMakeLists.txt <span style='color:#111;'> 381B </span>","children":null,"spread":false}],"spread":true},{"title":"esp-dsp","children":null,"spread":false},{"title":"rtprx","children":[{"title":"component.mk <span style='color:#111;'> 453B </span>","children":null,"spread":false},{"title":"rtprx.c <span style='color:#111;'> 5.56KB </span>","children":null,"spread":false},{"title":"include","children":[{"title":"rtprx.h <span style='color:#111;'> 171B </span>","children":null,"spread":false}],"spread":true},{"title":"CMakeLists.txt <span style='color:#111;'> 122B </span>","children":null,"spread":false}],"spread":true},{"title":"lightsnapcast","children":[{"title":"component.mk <span style='color:#111;'> 35B </span>","children":null,"spread":false},{"title":"include","children":[{"title":"snapcast.h <span style='color:#111;'> 2.67KB </span>","children":null,"spread":false}],"spread":true},{"title":"CMakeLists.txt <span style='color:#111;'> 135B </span>","children":null,"spread":false},{"title":"snapcast.c <span style='color:#111;'> 7.67KB </span>","children":null,"spread":false}],"spread":true},{"title":"websocket","children":[{"title":"websocket_server.c <span style='color:#111;'> 12.52KB </span>","children":null,"spread":false},{"title":"Kconfig <span style='color:#111;'> 1.26KB </span>","children":null,"spread":false},{"title":"component.mk <span style='color:#111;'> 67B </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 34.33KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 8.80KB </span>","children":null,"spread":false},{"title":"include","children":[{"title":"websocket.h <span style='color:#111;'> 4.05KB </span>","children":null,"spread":false},{"title":"websocket_server.h <span style='color:#111;'> 4.12KB </span>","children":null,"spread":false}],"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 156B </span>","children":null,"spread":false},{"title":"websocket.c <span style='color:#111;'> 8.96KB </span>","children":null,"spread":false}],"spread":true},{"title":"websocket_if","children":[{"title":"component.mk <span style='color:#111;'> 456B </span>","children":null,"spread":false},{"title":"include","children":[{"title":"websocket_if.h <span style='color:#111;'> 366B </span>","children":null,"spread":false}],"spread":true},{"title":"websocket_if.c <span style='color:#111;'> 4.60KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 166B </span>","children":null,"spread":false}],"spread":true},{"title":"libbuffer","children":[{"title":"buffer.c <span style='color:#111;'> 4.07KB </span>","children":null,"spread":false},{"title":"component.mk <span style='color:#111;'> 35B </span>","children":null,"spread":false},{"title":"include","children":[{"title":"buffer.h <span style='color:#111;'> 4.86KB </span>","children":null,"spread":false}],"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 86B </span>","children":null,"spread":false}],"spread":true},{"title":"net_functions","children":[{"title":"component.mk <span style='color:#111;'> 453B </span>","children":null,"spread":false},{"title":"Kconfig.projbuild <span style='color:#111;'> 334B </span>","children":null,"spread":false},{"title":"include","children":[{"title":"net_functions.h <span style='color:#111;'> 373B </span>","children":null,"spread":false}],"spread":false},{"title":"net_functions.c <span style='color:#111;'> 4.11KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 145B </span>","children":null,"spread":false}],"spread":true},{"title":"protocol","children":[{"title":"component.mk <span style='color:#111;'> 456B </span>","children":null,"spread":false},{"title":"include","children":[{"title":"protocol.h <span style='color:#111;'> 150B </span>","children":null,"spread":false}],"spread":false},{"title":"protocol.spec <span style='color:#111;'> 2.15KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 154B </span>","children":null,"spread":false},{"title":"protocol.c <span style='color:#111;'> 7.23KB </span>","children":null,"spread":false}],"spread":true},{"title":"custom_board","children":[{"title":"generic_board","children":[{"title":"board_pins_config.c <span style='color:#111;'> 4.35KB </span>","children":null,"spread":false},{"title":"board.c <span style='color:#111;'> 4.05KB </span>","children":null,"spread":false},{"title":"include","children":[{"title":"board_def.h <span style='color:#111;'> 3.34KB </span>","children":null,"spread":false},{"title":"board.h <span style='color:#111;'> 2.93KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"component.mk <span style='color:#111;'> 495B </span>","children":null,"spread":false},{"title":"Kconfig.projbuild <span style='color:#111;'> 3.43KB </span>","children":null,"spread":false},{"title":"ma120x0","children":[{"title":"include","children":[{"title":"ma120x0.h <span style='color:#111;'> 90.13KB </span>","children":null,"spread":false},{"title":"MerusAudio.h <span style='color:#111;'> 655B </span>","children":null,"spread":false}],"spread":false},{"title":"MerusAudio.c <span style='color:#111;'> 11.49KB </span>","children":null,"spread":false}],"spread":false},{"title":"pcm51xx","children":[{"title":"include","children":[{"title":"pcm51xx.h <span style='color:#111;'> 3.40KB </span>","children":null,"spread":false},{"title":"pcm51xx_reg_cfg.h <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false}],"spread":false},{"title":"pcm51xx.c <span style='color:#111;'> 6.68KB </span>","children":null,"spread":false}],"spread":false},{"title":"ma120","children":[{"title":"ma120.c <span style='color:#111;'> 11.37KB </span>","children":null,"spread":false},{"title":"include","children":[{"title":"ma120.h <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"ma120x0.h <span style='color:#111;'> 90.13KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 1.43KB </span>","children":null,"spread":false}],"spread":false},{"title":"opus","children":[{"title":"component.mk <span style='color:#111;'> 590B </span>","children":null,"spread":false},{"title":"config.h <span style='color:#111;'> 5.96KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 512B </span>","children":null,"spread":false},{"title":"opus","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"html","children":[{"title":"ma_tempmonitor.js <span style='color:#111;'> 205B </span>","children":null,"spread":false},{"title":"index.html <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"graph.js <span style='color:#111;'> 20.96KB </span>","children":null,"spread":false},{"title":"ma_if_ws.js <span style='color:#111;'> 4.96KB </span>","children":null,"spread":false},{"title":"styles.css <span style='color:#111;'> 542B </span>","children":null,"spread":false}],"spread":true},{"title":"Makefile <span style='color:#111;'> 181B </span>","children":null,"spread":false},{"title":"sdkconfig <span style='color:#111;'> 39.44KB </span>","children":null,"spread":false},{"title":".pre-commit-config.yaml <span style='color:#111;'> 496B </span>","children":null,"spread":false},{"title":".gitmodules <span style='color:#111;'> 204B </span>","children":null,"spread":false},{"title":"snapcast","children":[{"title":"snapserver.conf <span style='color:#111;'> 3.63KB </span>","children":null,"spread":false}],"spread":true},{"title":"README.md <span style='color:#111;'> 6.14KB </span>","children":null,"spread":false},{"title":".vscode","children":[{"title":"settings.json <span style='color:#111;'> 41B </span>","children":null,"spread":false}],"spread":true},{"title":"main","children":[{"title":"component.mk <span style='color:#111;'> 145B </span>","children":null,"spread":false},{"title":"Kconfig.projbuild <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"main.c <span style='color:#111;'> 21.67KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 78B </span>","children":null,"spread":false}],"spread":true},{"title":"sdkconfig.old <span style='color:#111;'> 33.92KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 273B </span>","children":null,"spread":false}],"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明