Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. <canvas id="canvas" width="600" height="600"></canvas>
  2.  
  3. <script>
  4. var AC = new AudioContext();
  5.  
  6. var osc1 = AC.createOscillator();
  7. var osc2 = AC.createOscillator();
  8.  
  9. osc1.start();
  10.  
  11. var analyser1 = AC.createAnalyser();
  12. var analyser2 = AC.createAnalyser();
  13.  
  14. var dataArray1 = new Float32Array(analyser1.fftSize); // Float32Array needs to be the same length as the fftSize
  15. var dataArray2 = new Float32Array(analyser2.fftSize);
  16.  
  17. osc1.connect(analyser1);
  18. osc2.connect(analyser2);
  19.  
  20. var canvas = document.getElementById("canvas");
  21. var canvasContext = canvas.getContext("2d");
  22.  
  23. var draw = function(){
  24. analyser1.getFloatTimeDomainData(dataArray1);
  25. analyser2.getFloatTimeDomainData(dataArray2);
  26.  
  27. canvasContext.clearRect(0, 0, canvas.width, canvas.height);
  28.  
  29. canvasContext.lineWidth = 1;
  30. canvasContext.strokeStyle = "black";
  31.  
  32. canvasContext.beginPath();
  33.  
  34. for (let x = 0; x < canvas.width; x++){
  35. if (x === 0){
  36. canvasContext.moveTo(x, canvas.height / 2);
  37. } else {
  38. canvasContext.lineTo(
  39. x,
  40. dataArray1[x] * 60 + (canvas.height / 2)
  41. );
  42. }
  43. }
  44.  
  45. canvasContext.stroke();
  46.  
  47.  
  48. requestAnimationFrame(draw);
  49. };
  50.  
  51. requestAnimationFrame(draw);
  52.  
  53. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement