jiangyanfeng

Results 22 comments of jiangyanfeng

> 也可以判断如果当前 device state 是 listening,则调用一下 Application::ToggleChatState 对,谢谢提醒。 如果能增加状态改变回调就更好了。OnDeviceStateChanged()

> 你好麻烦请教一下你音乐播放器是不是用adf实现的 是的。碰到的坑太多了,有些到现在还没填平。ADF 里面有些库不是开源的,只提供了静态库文件和头文件,debug 起来可麻烦了。 另外,由于对ESP32硬件不熟悉,内存分配也走了很多弯路。std::map 的表现就和 x86 上的 std::map 不一样,也不敢对框架改太多,怕影响后面版本的合入。

> 我在播放音乐的时候复用的音频复用的是audio_code功能,我在启用audio_code的时候然后里面就有个现成禁用了,导致一直无法播放 > > ![Image](https://github.com/user-attachments/assets/bc5a6268-bd5a-4dc4-96f1-6ad0b3f42d09) 你解码成 PCM 后,直接 codec->OutputData(pcm); 就可以播放音乐了。

> > 也可以判断如果当前 device state 是 listening,则调用一下 Application::ToggleChatState > > 对,谢谢提醒。 > > 如果能增加状态改变回调就更好了。OnDeviceStateChanged() 目前是使用下面代码实现的,但是会在切换时咔哒一声。如果有状态改变回调函数使用就好了。 @78 ` xTaskCreate([](void* arg) { auto& app = Application::GetInstance(); auto last = std::chrono::steady_clock::now(); while (1)...

@bao17634 不要求说话中,也不要求 codec output enable,因为这里已经绕开了那部分逻辑了。 相反,为了避免和小智AI的说话冲突,需要在小智AI说话时,关闭音乐输出;在小智AI收听时,也关闭音乐输出。但在执行完IOT命令,准备播放音乐前,等待小智说话完成后,小智切换为 listening 状态时,将其状态换成 idle 状态然后播放音乐。

这个选项是开启的,我重新确认了下,并 clean 后重新编译了,问题依旧。 以下是编译配置: `# # GDB Stub # CONFIG_ESP_GDBSTUB_ENABLED=y # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y CONFIG_ESP_GDBSTUB_MAX_TASKS=32 # end of GDB Stub` 是否和内存有关?有8MB PSRAM. `# SPI RAM config # #...

> > 有教程吗? > > […](#) > > B站和抖音很多吧 希望小智服务器上能让客户绑定QQ音乐账户、喜马拉雅账户、蜻蜓FM账户等,然后播放里面的音乐。 这样通过音乐内容源官方API接入,也不会有版权问题了。

除了版权原因,还有一个原因就是会造成服务器压力大。 建议虾哥搞个收费会员,提供上述功能。 我目前在实现 TF 卡本地音乐/在线FM广播播放功能,不需要服务器支持。 源码混合了 ESP-ADF,没有采用用双固件分区的方式,故可以通过小智语音控制播放(本地音乐播放、上一首、下一首、停止、暂停、顺序/随机/单曲循环播放模式)。 硬件上需要板子带 TF 卡,Mic 与 Speaker 分腔隔离,带硬件回采更好。

我目前的做法和你类似,只是不自己搭建音乐源服务器,使用网易云音乐、QQ音乐的API接入,播放上面的音乐。从网易云音乐、QQ音乐的开发者文档上看是可以实现的。 目前已通过ioT模式实现播放本地 TF 卡上的音乐,并可搜索设备本地TF卡歌曲名来播放。