微信小程序需要从服务器流式下载和播放ogg音频。使用wx.request配置enableChunked:true时发现如下问题:
1,返回的chunk中音频数据包含大量EF BF BD。显示字节流意外编码导致不可识别字符出现
参考链接:https://liudanking.com/golang/utf-8_replacement_character/
2,chunk的大小没有按照服务器发出的大小实时接收。貌似微信框架做了缓存才返给应用,实际接收的chunk大小都是10多倍。
问题1的结果是收到的ogg音频数据无法播放。问题2希望能够实时按照服务端的chunk大小接收数据。
同样的客户端配置使用nodejs和python访问同一个服务器时,返回的chunk数据没有这个问题。得到的音频能够正常播放。