2017-05-27 5 views
-2

Ich möchte einen Audio-Player erstellen, der sich für immer wiederholt, ohne HTML zu verwenden. Wie kann ich das in ECMAScript-6 tun?ECMAScript-6 Audio Repeat Forever

+1

Der gleiche Weg wie mit ES5. – estus

+0

Das hat nichts mit ES6 zu tun, das keine Audiofähigkeiten definiert. Suchen Sie nach der [Web Audio API] (https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)? – Bergi

Antwort

1

Ich verstehe wirklich nicht, was ist die Frage, aber ich fand es eine Art Spaß, also hier ist eine Lösung, ein Audio für immer zu loopen, ohne HTML überhaupt zu verwenden, und in einem Browser:

Dies nutzt die Fähigkeit von Browser Javascript innerhalb SVG-Dokumente zu laufen, und die WebAudioAPI zu Ton aus dem DOM zu spielen:

<?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> 

Da Stack-Schnipsel wird alles innerhalb einer HTML-wickeln Dokument, hier ist ein live plunker.