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完美!感謝您的鏈接了。如果您將它作爲一個發佈,我會接受這個答案。 –