esp_audio_play()存在播放.mp3文件不完整问题

Liiidr
Posts: 1
Joined: Thu Nov 28, 2019 4:28 am

esp_audio_play()存在播放.mp3文件不完整问题

Postby Liiidr » Mon Dec 02, 2019 7:15 am

<r>问题:esp_audio_play()存在播放.mp3文件不完整问题<br/>
问题处出现概率:必现<br/>
逻辑实现:<br/>
<B><s></s>case1没有问题<br/>
case2有mp3播放不完全的问题<e>
</e></B><br/>
<B><s></s>case1:<e></e></B><br/>
1、“hi 乐鑫”唤醒<br/>
2、设备播放ding.mp3提示音,表示被唤醒(可以播放完全)<br/>
3、本地录制一句“北京天气”raw data传到服务器,服务器返回天气url“<URL url="http://mirror-advertising.oss-cn-beijin ... <LINK_TEXT text="http://mirror-advertising.oss-cn-beijin ... 5bfd66.mp3">http://mirror-advertising.oss-cn-beijin ... /URL>”<br/>
4、播放url<br/>
<B><s></s>case2:<e></e></B><br/>
1、“hi 乐鑫”唤醒<br/>
2、设备播放ding.mp3提示音,表示被唤醒(可以播放完全)<br/>
3、本地录制一句“北京天气”raw data传到服务器,服务器返回天气url“<URL url="http://mirror-advertising.oss-cn-beijin ... <LINK_TEXT text="http://mirror-advertising.oss-cn-beijin ... 5bfd66.mp3">http://mirror-advertising.oss-cn-beijin ... /URL>”<br/>
4、播放url<br/>
5、打断唤醒,播放url过程中“hi 乐鑫”唤醒,esp_audio_stop()停止播放url<br/>
6、调esp_audio_play()播放.mp3,结果时长1S的提示音只播了一半,esp_audio_play()调用实现如下
<CODEBOX codebox="c" file="Untitled.c"><s>
  1. </s>int joshvm_audio_play_handler(const char *url)<br/>
  2. {<br/>
  3.     int ret;<br/>
  4.     esp_audio_state_t state;<br/>
  5.     do{<br/>
  6.         esp_audio_state_get(player,&state);     <br/>
  7.         if(state.status == AUDIO_STATUS_RUNNING){<br/>
  8.             ESP_LOGW(TAG,"state :%d\n",state.status);<br/>
  9.             vTaskDelay(500 /portTICK_PERIOD_MS);<br/>
  10.         }<br/>
  11.     }while(state.status == AUDIO_STATUS_RUNNING);<br/>
  12.     ESP_LOGI(TAG, "Playing : %s", url);<br/>
  13.         ret = esp_audio_play(player, AUDIO_CODEC_TYPE_DECODER, url, 0);<br/>
  14.     return ret;<br/>
  15. }<e>
</e></CODEBOX></r>

求大神一起看看什么原因啊

Who is online

Users browsing this forum: No registered users and 2 guests