抱歉我的英语不好,我正在使用翻译器。
问题如下:传递 Google 云端硬盘上托管的音频文件的源不起作用。 但如果我传递本地文件的源,它就可以工作。 此外,如果 mp3 文件在我的域中,它也可以工作。
示例:
function _playDrive() { //dont work
let audio = new Audio('http://docs.google.com/uc?export=download&id=ejemplo'); //is mp3
audio.controls = true;
audio.crossOrigin = 'anonymous';
document.body.appendChild(audio);
audio.play();
}
function _playLocal() { //work
let audio = new Audio('./mysong.mp3');
audio.controls = true;
audio.crossOrigin = 'anonymous';
document.body.appendChild(audio);
audio.play();
}
我希望有一个没有依赖项的解决方案,谢谢。
最佳答案
您需要获取文件 ID,它是位于 url 中 id=
之后的 20+ 字母数字。
基础
https://drive.google.com/uc?export=download&confirm=no_antivirus&id=
File_ID
0B1c82XNzuQ5ZU3RYSmZENERBQjQ
解决方案
var player = new Audio(
Base+
File_ID)
演示
var player = new Audio('https://drive.google.com/uc?export=download&confirm=no_antivirus&id=0B1c82XNzuQ5ZU3RYSmZENERBQjQ');
player.controls = true;
document.body.appendChild(player);
player.play();
关于javascript + html5 音频播放器cors不播放动态源码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47956881/