Page 1 of 1

ESP32-S3使用HTTP流播放音乐时,暂停和恢复播放出现问题

Posted: Fri Jan 03, 2025 1:24 am
by hqh306931
使用例程推荐的方式控制HTTP流播放和暂停,暂停看起来是正常,但是恢复是不正常的。

控制代码

Code: Select all

audio_element_state_t el_state = audio_element_get_state(i2s_stream_writer);
                switch (el_state) 
                {
                    case AEL_STATE_INIT :
                        ESP_LOGI(TAG, "[ * ] Starting audio pipeline");
                        audio_pipeline_run(pipeline);
                        break;
                    case AEL_STATE_RUNNING :
                        ESP_LOGI(TAG, "[ * ] Pausing audio pipeline");
                        audio_pipeline_pause(pipeline);
                        break;
                    case AEL_STATE_PAUSED :
                        ESP_LOGI(TAG, "[ * ] Resuming audio pipeline");
                        audio_pipeline_resume(pipeline);
                        break;
                    default :
                        ESP_LOGI(TAG, "[ * ] Not supported state %d", el_state);
                }

出错的提示

Code: Select all

I (18921) USER_BUTTON: Button_2_PressClick_Handler().....
I (19031) USER_HTTP: [ * ] Pausing audio pipeline
W (19031) USER_HTTP: ==>> s_http_stream_reader[131072] - [8][13]
I (19031) AUDIO_ELEMENT: [http] AEL_MSG_CMD_PAUSE
I (19041) MP3_DECODER: Closed
W (19051) USER_HTTP: ==>> s_mp3_decoder       [131072] - [8][13]
I (19051) AUDIO_ELEMENT: [mp3] AEL_MSG_CMD_PAUSE
I (19051) AUDIO_ELEMENT: [mp3] AEL_MSG_CMD_PAUSE
I (19071) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_PAUSE
I (19071) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_PAUSE
W (19071) USER_HTTP: ==>> s_i2s_stream_writer [131072] - [8][13]

I (21081) USER_BUTTON: Button_2_PressClick_Handler().....
I (21371) USER_HTTP: [ * ] Resuming audio pipeline
I (21371) AUDIO_ELEMENT: [http] AEL_MSG_CMD_RESUME,state:4
I (21371) AUDIO_ELEMENT: [mp3] AEL_MSG_CMD_RESUME,state:4
I (21371) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:4
W (21381) USER_HTTP: ==>> s_i2s_stream_writer [131072] - [8][12]
I (21381) MP3_DECODER: MP3 opened
W (21391) USER_HTTP: ==>> s_mp3_decoder       [131072] - [9][0]
W (21401) USER_HTTP: ==>> s_mp3_decoder       [131072] - [8][12]
E (21401) MP3_DECODER: Not support change layer in middle.
E (21411) AUDIO_ELEMENT: [mp3] ERROR_PROCESS, AEL_IO_FAIL
W (21411) USER_HTTP: ==>> s_mp3_decoder       [131072] - [8][3]
W (21421) AUDIO_ELEMENT: [mp3] audio_element_on_cmd_error,3
I (21431) MP3_DECODER: Closed
W (21431) USER_HTTP: ==>> s_mp3_decoder       [131072] - [11][1008250956]
W (21611) USER_HTTP: ==>> s_http_stream_reader[131072] - [10][0]
W (21611) USER_HTTP: ==>> s_http_stream_reader[131072] - [8][12]

大佬们帮帮忙给我瞅瞅 ?_?

Re: ESP32-S3使用HTTP流播放音乐时,暂停和恢复播放出现问题

Posted: Wed Jan 29, 2025 1:49 pm
by espsean
Hey! Did you end up figuring out how to fix this? I've got the same issue :

Code: Select all

 MP3_DECODER: Not support change layer in middle.
Thanks in advance!


嘿!您最终弄清楚如何解决这个问题了吗?我有同样的问题:

Code: Select all

 MP3_DECODER: Not support change layer in middle.
提前致谢!

Re: ESP32-S3使用HTTP流播放音乐时,暂停和恢复播放出现问题

Posted: Fri Feb 21, 2025 9:45 am
by William
https://github.com/espressif/esp-adf/issues/1353

这里有个相似问题的解决方法,可以评估参考下

Re: ESP32-S3使用HTTP流播放音乐时,暂停和恢复播放出现问题

Posted: Tue Mar 25, 2025 11:35 am
by hqh306931
Hey! Did you end up figuring out how to fix this? I've got the same issue :

Code: Select all

 MP3_DECODER: Not support change layer in middle.
Thanks in advance!


嘿!您最终弄清楚如何解决这个问题了吗?我有同样的问题:

Code: Select all

 MP3_DECODER: Not support change layer in middle.
提前致谢!

我已经解决了此问题。但是具体出现的原因并不清楚,感觉和ESP-ADF版本、ESP-SR版本有关系,或者是和CODEC控制器有关系,我并没有使用CODEC控制器。
结果:
我重新安装了ESP-IDF V5.3.2版本,然后使用git递归下载了最新的ESP-ADF以及指定xxxxx分支的组件,然后在此之前我是用的并非git递归下载的版本。因为git一直出错,所以是单独git下载的master分支。ESP-ADF,ESP-ADF-LIBS,ESP-SR均为master分支。编译和使用似乎一切正常,但是暂停和恢复并不行。
我在配置开发板时,我使用的ESP32S3,所以我是直接选中并修改的 esp32_s3_korvo2_v3 下引脚定义。并且只有define FUNC_AUDIO_CODEC_EN (1),是打开的,其他的 XXXXX_ENABLE (-1),因为我怀疑和未初始化CODEC控制器有关系,即使我并未使用CODEC控制器。
希望对你有帮助。