我想创建一个永远重复的音频播放器,而不使用任何HTML。我怎么能在ECMAScript-6
中做到这一点答案 0 :(得分:1)
我真的不明白这个问题,但我觉得它很有趣,所以这里有一个解决方案,永远循环音频,根本不使用任何HTML,在浏览器中:
这使用浏览器在SVG文档中运行javascript的能力,并使用WebAudioAPI从DOM中播放声音:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<script>
const aCtx = new AudioContext();
fetch('https://dl.dropboxusercontent.com/s/agepbh2agnduknz/camera.mp3')
.then(r=>r.arrayBuffer())
.then(b=>aCtx.decodeAudioData(b))
.then(data=>{
const audio_buf = aCtx.createBufferSource();
audio_buf.buffer = data;
audio_buf.loop = true;
audio_buf.connect(aCtx.destination);
audio_buf.start(0);
});
</script>
</svg>
由于stack-snippets会将所有内容都包装在HTML文档中,因此这里是 live plunker 。