errCode:10003
errMsg:playerErrCode:7, systemErrCode:200002, domain:com.tencent.KSAudioPlayer.Cache,
description:未能完成操作。(“com.tencent.KSAudioPlayer.Cache”错误 200002。)
这个是报错信息,有官方的错误码对照表吗?就一个文件错误,完全懵。
安卓可以播放,调试器可以播放,IOS报错
跪求各路大神帮忙
一些音频可以播,一些不可以。官方可以给出一个音频标准出来么?
发现问题所在了,服务器输出文件的时候,头部信息缺少了长度等信息
先谢谢楼主,至少说了问题的原因(虽然不够明显):是response的header,缺少了Content-Length。
(供其他人参考的)解决办法:
(mp3)音频文件(url)所在后台接口中,确保返回的header带Content-Length即可
比如此处Flask后台中,改为:
import io from flask import send_file def sendFile(fileBytes, contentType, outputFilename, asAttachment = True ): fileLength = len (fileBytes) responseFile = send_file( io.BytesIO(fileBytes), mimetype = contentType, as_attachment = asAttachment, attachment_filename = outputFilename ) responseFile.headers[ "Content-Length" ] = fileLength return responseFile |
即可。
感慨:
微信的小程序中,iOS的sdk中,测试不够充分,没有测试到header没有Content-Length的情况,会导致此处报错,无法播放。
相比之下,Android中可以正常播放,说明安卓的sdk的兼容性,在后台音乐播放方面,更好。
楼主,其实可以把事情做得更完美:把如何解决的相关代码贴出来,供其他人参考 -》 也方便其他人更快速搞懂错误的根本原因,而避免发生:我第一次看到上面的描述,直接忽略掉了。直到后来,第二次看到,才注意到楼主的解决办法。。。