3
我试图从HTTP POST请求中获取一些音频数据,然后从Android设备上播放它。这是处理该操作的代码:Cordova - CSP拒绝加载媒体blob
var xhr = new XMLHttpRequest();
xhr.open('POST', encodeURI(myURLString), true);
xhr.responseType = 'blob';
xhr.onload = function(evt) {
var blob = new Blob([xhr.response], {type: 'audio/wav'});
var audio = new Audio();
audio.src = URL.createObjectURL(blob);
audio.play();
};
xhr.send(myData);
当我运行它,我得到以下错误:
Refused to load media from 'blob:file:///d181cef8-136d-4dab-b5c6-598a0481755c'
because it violates the following Content Security Policy directive: "media-src *".
我不知道如何设置这个指令,以允许该文件是玩,我无法得到这个工作。
任何想法?提前致谢!
完全取消该指令看起来可行,但似乎很难找到正确的解决方案。是吗? –
您可能需要将'blob:'修饰符添加到media-src指令,如'media-src * blob:'。 [进一步阅读](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/media-src) – Phonolog
@Phonolog完美!感谢您的链接了。如果您将它作为一个发布,我会接受这个答案。 –