| <!doctype html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> |
| <meta name="apple-mobile-web-app-capable" content="yes"> <!-- Fullscreen Landscape on iOS --> |
| <link rel="stylesheet" href="../common/reset.css"> |
| </head> |
| <body> |
| <div id="main"></div> |
| <script src="../common/echarts.js"></script> |
| <script src="../common/StageControl.js"></script> |
| <script src="../texture/sample.jpg.js"></script> |
| <script> |
| var UPDATE_DURATION = 20; |
| |
| var chart = echarts.init(document.getElementById('main')); |
| |
| window.AudioContext = window.AudioContext || window.webkitAudioContext; |
| |
| var audioContext = new AudioContext(); |
| |
| var oReq = new XMLHttpRequest(); |
| oReq.open('GET', '../data/roll-it-up.mp3', true); |
| oReq.responseType = 'arraybuffer'; |
| |
| oReq.onload = function(e) { |
| audioContext.decodeAudioData(oReq.response, drawWaveform); |
| }; |
| oReq.send(); |
| |
| function drawWaveform(audioBuffer) { |
| var leftChannel = audioBuffer.getChannelData(0); |
| var data = []; |
| console.log(leftChannel.length); |
| for (var i = 10000; i < 200000; i++) { |
| data.push([i, leftChannel[i]]); |
| } |
| chart.setOption({ |
| tooltip: {}, |
| grid: { |
| top: 0,left:0,right:0,bottom:0 |
| }, |
| xAxis: { |
| show: false, |
| type: 'value', |
| min: 'dataMin', |
| max: 'dataMax' |
| }, |
| yAxis: { |
| show: false, |
| type: 'value' |
| }, |
| series: [{ |
| type: 'line', |
| symbol: 'none', |
| data: data, |
| lineStyle: { |
| normal: { |
| width: 0.5, |
| color: '#15f0ff' |
| } |
| } |
| }] |
| }); |
| } |
| |
| |
| window.addEventListener('resize', function () { |
| chart.resize(); |
| }); |
| |
| </script> |
| </body> |
| </html> |