|
- var audioFileChooser = document.getElementById('audioFileChooser');
-
- audioFileChooser.addEventListener('change', readFile);
-
- function readFile() {
- // TODO: deal with multiple files
- var fileReader = new FileReader();
- fileReader.readAsArrayBuffer(audioFileChooser.files[0]);
- fileReader.addEventListener('load', function(ev) {
- processFile(ev.target.result);
- });
- }
-
- function processFile(file) {
- var context = new window.AudioContext();
- context.decodeAudioData(file, function(buffer) {
- var source = context.createBufferSource();
- source.buffer = buffer;
- source.loop = false;
- source.connect(context.destination);
- source.start(0);
- });
- }
-
- function generateOutputFile(fileContents) {
- var textFileURL = null;
- var blob = new Blob([fileContents], {type: 'text/plain'});
- textFileURL = window.URL.createObjectURL(blob);
- return textFileURL;
- }
-
- var outputFileHolder = document.getElementById('outputFileHolder');
- var downloadLink = document.createElement('a');
- downloadLink.setAttribute('download', 'test.txt');
- downloadLink.href = generateOutputFile("this is a test");
- downloadLink.innerHTML = 'download link';
- outputFileHolder.appendChild(downloadLink);
|