esp32 播放网络音频文件

smart123
Posts: 37
Joined: Mon Apr 27, 2020 12:01 pm

esp32 播放网络音频文件

Postby smart123 » Mon Dec 21, 2020 4:03 am

请问有没有 esp32_LyarT 4.3 开发板 播放网络音频的demo
目前ADF的demo 都需要在访问链接之前已知音频格式 MP3 wav aac等
我们目前的需求是 随便一个链接 未知音频格式 如何播放网络音频

ESP_HengYC
Posts: 184
Joined: Fri Dec 15, 2017 2:45 am

Re: esp32 播放网络音频文件

Postby ESP_HengYC » Tue Dec 22, 2020 7:31 am

smart123 wrote:
Mon Dec 21, 2020 4:03 am
请问有没有 esp32_LyarT 4.3 开发板 播放网络音频的demo
目前ADF的demo 都需要在访问链接之前已知音频格式 MP3 wav aac等
我们目前的需求是 随便一个链接 未知音频格式 如何播放网络音频
我猜你是说 auto decoder 的功能吧,你可以参考下这个例子: https://github.com/espressif/esp-adf/tr ... e_pipeline ,看看是否符合你的要求。

smart123
Posts: 37
Joined: Mon Apr 27, 2020 12:01 pm

Re: esp32 播放网络音频文件

Postby smart123 » Tue Dec 22, 2020 8:04 am

hengyongchao wrote:
Tue Dec 22, 2020 7:31 am
smart123 wrote:
Mon Dec 21, 2020 4:03 am
请问有没有 esp32_LyarT 4.3 开发板 播放网络音频的demo
目前ADF的demo 都需要在访问链接之前已知音频格式 MP3 wav aac等
我们目前的需求是 随便一个链接 未知音频格式 如何播放网络音频
我猜你是说 auto decoder 的功能吧,你可以参考下这个例子: https://github.com/espressif/esp-adf/tr ... e_pipeline ,看看是否符合你的要求。
您好 非常感谢您的回答 确实给我提供了一点思路
但是目前的方案还是需要已知音频的格式才可以 我这边需要的是从网络的相应头中获取音频类型 再进行解码初始化
或者直接再函数接口输入链接 程序自动识别 进行解码

请问您有做过类似的方案吗

ESP_HengYC
Posts: 184
Joined: Fri Dec 15, 2017 2:45 am

Re: esp32 播放网络音频文件

Postby ESP_HengYC » Thu Dec 24, 2020 6:59 am

smart123 wrote:
Tue Dec 22, 2020 8:04 am
hengyongchao wrote:
Tue Dec 22, 2020 7:31 am
smart123 wrote:
Mon Dec 21, 2020 4:03 am
请问有没有 esp32_LyarT 4.3 开发板 播放网络音频的demo
目前ADF的demo 都需要在访问链接之前已知音频格式 MP3 wav aac等
我们目前的需求是 随便一个链接 未知音频格式 如何播放网络音频
我猜你是说 auto decoder 的功能吧,你可以参考下这个例子: https://github.com/espressif/esp-adf/tr ... e_pipeline ,看看是否符合你的要求。
您好 非常感谢您的回答 确实给我提供了一点思路
但是目前的方案还是需要已知音频的格式才可以 我这边需要的是从网络的相应头中获取音频类型 再进行解码初始化
或者直接再函数接口输入链接 程序自动识别 进行解码

请问您有做过类似的方案吗

不过,我想并你可能没有明白我的意思。我意思是这样的方案是有现成的, examples/advanced_examples/esp_dispatcher_dueros 这个例子就是。

首先要明白, 没有无缘无故的万能的解码方式。 你所说的不许要知道音频格式就可以播放,其实是建立在已经初始化了一些音频 decoder (mp3, aac, m4a, wav, ogg, opus, amr)等的基础上的。只有先初始化才可以支持上述功能(这通常意味着需要消耗一定的资源,比如 RAM)。

例如代码:https://github.com/espressif/esp-adf/bl ... tup.c#L103

Code: Select all

    esp_audio_codec_lib_add(handle, AUDIO_CODEC_TYPE_DECODER, aac_decoder_init(&aac_cfg));
    esp_audio_codec_lib_add(handle, AUDIO_CODEC_TYPE_DECODER, wav_decoder_init(&wav_dec_cfg));
    esp_audio_codec_lib_add(handle, AUDIO_CODEC_TYPE_DECODER, mp3_decoder_init(&mp3_dec_cfg));
上述 player 初始化完成之后, 那么就可以调用 `esp_audio_play()` 接口随意播放,当前你所支持的音频资源了。

希望对你有帮助。

smart123
Posts: 37
Joined: Mon Apr 27, 2020 12:01 pm

Re: esp32 播放网络音频文件

Postby smart123 » Thu Dec 24, 2020 7:10 am

hengyongchao wrote:
Thu Dec 24, 2020 6:59 am
smart123 wrote:
Tue Dec 22, 2020 8:04 am
hengyongchao wrote:
Tue Dec 22, 2020 7:31 am


我猜你是说 auto decoder 的功能吧,你可以参考下这个例子: https://github.com/espressif/esp-adf/tr ... e_pipeline ,看看是否符合你的要求。
您好 非常感谢您的回答 确实给我提供了一点思路
但是目前的方案还是需要已知音频的格式才可以 我这边需要的是从网络的相应头中获取音频类型 再进行解码初始化
或者直接再函数接口输入链接 程序自动识别 进行解码

请问您有做过类似的方案吗

不过,我想并你可能没有明白我的意思。我意思是这样的方案是有现成的, examples/advanced_examples/esp_dispatcher_dueros 这个例子就是。

首先要明白, 没有无缘无故的万能的解码方式。 你所说的不许要知道音频格式就可以播放,其实是建立在已经初始化了一些音频 decoder (mp3, aac, m4a, wav, ogg, opus, amr)等的基础上的。只有先初始化才可以支持上述功能(这通常意味着需要消耗一定的资源,比如 RAM)。

例如代码:https://github.com/espressif/esp-adf/bl ... tup.c#L103

Code: Select all

    esp_audio_codec_lib_add(handle, AUDIO_CODEC_TYPE_DECODER, aac_decoder_init(&aac_cfg));
    esp_audio_codec_lib_add(handle, AUDIO_CODEC_TYPE_DECODER, wav_decoder_init(&wav_dec_cfg));
    esp_audio_codec_lib_add(handle, AUDIO_CODEC_TYPE_DECODER, mp3_decoder_init(&mp3_dec_cfg));
上述 player 初始化完成之后, 那么就可以调用 `esp_audio_play()` 接口随意播放,当前你所支持的音频资源了。

希望对你有帮助。
感谢您的回答 之前就是要这个样子的 demo 终于找到了 非常感谢!!!

Who is online

Users browsing this forum: No registered users and 13 guests