/* NAME main.js AUTHOR Trek Hopton LICENSE This file is Copyright (C) 2018 the Australian Ocean Lab (AusOcean) It is free software: you can redistribute it and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License in gpl.txt. If not, see [GNU licenses](http://www.gnu.org/licenses). */ window.onload = function () { document.getElementById('input').addEventListener('change', processData) } function processData() { const input = event.target.files[0] const reader = new FileReader() reader.onload = event => { bytes = new Uint8Array(event.target.result) // decode adpcm to pcm var decoded = decode(Array.from(bytes)) // convert raw pcm to wav var wav = pcmToWav(decoded, 48000, 1, 16); // play wav data in player const blob = new Blob([Uint8Array.from(wav)], { type: 'audio/wav' }); const url = URL.createObjectURL(blob); const audio = document.getElementById('audio'); const source = document.getElementById('source'); source.src = url; audio.load(); audio.play(); } reader.onerror = error => reject(error) reader.readAsArrayBuffer(input) }