Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法从mobile Chrome中的blob url读取音频_Javascript_Html_Audio_Blob - Fatal编程技术网

Javascript 无法从mobile Chrome中的blob url读取音频

Javascript 无法从mobile Chrome中的blob url读取音频,javascript,html,audio,blob,Javascript,Html,Audio,Blob,我想在我的移动web应用程序中使用mp3播放,所以我编写了一个测试应用程序,我使用了解决方案,但blob URL似乎已损坏且为空,而文件已正确读取 <input type="file" accept=".mp3" onchange="autoplay()"> <script> var file, url, audio, source; function autoplay(){ window.URL = window.URL || window.webkit

我想在我的移动web应用程序中使用mp3播放,所以我编写了一个测试应用程序,我使用了解决方案,但blob URL似乎已损坏且为空,而文件已正确读取

<input type="file" accept=".mp3" onchange="autoplay()">
<script>
    var file, url, audio, source;
function autoplay(){
    window.URL = window.URL || window.webkitURL;
    file = document.querySelector("input[type=file]").files[0];
    url = decodeURIComponent(window.URL.createObjectURL(file));
    audio = document.createElement("audio");
    source = document.createElement("source");
    source.src = url;
    audio.appendChild(source);
    document.body.appendChild(audio);
    audio.play();
}
</script>

var文件、url、音频、源;
函数autoplay(){
window.URL=window.URL | | window.webkitURL;
file=document.querySelector(“input[type=file]”)。files[0];
url=decodeURIComponent(window.url.createObjectURL(文件));
音频=document.createElement(“音频”);
source=document.createElement(“source”);
source.src=url;
音频。附加子(源);
文件.正文.附件(音频);
音频播放();
}
Blob大小不对,我放了更大的文件

编辑:


我在FileReader中使用了较旧的版本,也许这不是一个好选择,但它可以工作…

不要使用
decodeURIComponent
只需执行
URL.createObjectURL

window.URL=window.URL | | window.webkitURL;
功能自动播放(evt){
var file=document.querySelector(“输入[type=file]”)。文件[0];
var url=url.createObjectURL(文件);
var audio=新音频();
audio.src=url;
audio.play().catch(函数(错误){
console.error(err)//无法播放音频
});
audio.controls=true;
文件.正文.附件(音频);
}
document.querySelector(“input[type=file]”。onchange=autoplay

谢谢,我使用它时没有使用decodeURIComponent,我也遇到了同样的问题-文件只是空的,然后我决定使用FileReader-它可以工作,但如果文件较大,它会使移动浏览器崩溃