原文链接:https://blog.csdn.net/weixin_44356485/article/details/104310091
问题出现:
由于实际场景需要,将scratch素材库迁到自己的服务器上,进行素材管理,允许上传、删除素材;
之前未开放上传素材时,音频文件都是wav格式的,所以没问题,开放之后,用户上传MP3格式,发现在音频列表试听时,找不到文件,原因就是本来是.mp3的文件,后缀尽然是.wav;所以找不到;点击选择路径又对上了;
解决:
打印出试听时的路径和选择之后的路径,发现是后缀名的锅;

在这打印出参数时候,发现

在参数里dataFormat已经是wav了;

只在这一个地方执行了,并没有传参,只绑定了this作用域;

打印出this和arguments之后,发现确实传参了;

这个this.addWebStore()这个方法在代码里没有找到,所有就打印出对象,在原型上找到这个方法;


将方法打印出来之后;点击看这个方法的源码发现是在node_modules包里;

读代码,找到了这个方法,打印出来之后发现dataFormat 为 undefined;
然后找到调用load方法的地方,确实没传dataFormat字段,加上就好了!

文件 地址:
src/comtainers/sound-library.jsx 第130行
或全局搜索: handleItemMouseEnter 函数