javascript + html5 音频播放器cors不播放动态源码

标签 javascript html audio google-drive-api

抱歉我的英语不好,我正在使用翻译器。

问题如下:传递 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/

相关文章:

javascript - ECMAScript 2015 很好的包装 CasperJS 方法的方法。

javascript - JS Arithmetic 计算使用eval 正在相乘

javascript - blur.js 试图请求 "none"并且 div 未扩展 100%

html -::-webkit-input-placeholder 不起作用

c# - 如何使音频文件自身重叠?

javascript - 缩小屏幕尺寸时如何使用响应式在 Css 中设置重量和高度

javascript - 如果 JSON 数据不存在,如何隐藏 div

html - Firefox 与 Chrome 中的跨度高度不同

audio - 将多个蓝牙扬声器与 Raspberry Pi 连接

audio - 如何将音频 (.wav) 转换为卫星图像