Advertisement
BrU32

Untitled

Mar 11th, 2017
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. <body>
  2. <canvas class="visualizer";id="canvas";width="2940" height="2900"></canvas>
  3. </body>
  4. <script>
  5. var context = new AudioContext();
  6. var analyser = context.createAnalyser();
  7. var WIDTH = 100000;
  8. var HEIGHT = 100000;
  9. var osc = context.createOscillator();
  10. osc.frequency.type=3;
  11. osc.frequency.value=Math.random()*1646;
  12. function makeConnection() {
  13. osc.connect(analyser);
  14. }
  15. function playSound() {
  16. analyser.connect(context.destination);
  17. osc.start(0);
  18. osc.stop(100);
  19.  
  20. }
  21. makeConnection();
  22. playSound();
  23. var canvas = document.querySelector('.visualizer');
  24. var canvas = canvas.getContext("2d");
  25. analyser.fftSize = 2048;
  26. var bufferLength = analyser.frequencyBinCount/2;
  27. var dataArray = new Uint8Array(bufferLength);
  28. analyser.getByteTimeDomainData(dataArray);
  29. if(dataArray==0){
  30. alert('test')
  31. }
  32. console.log(dataArray);
  33. function draw() {
  34. drawVisual = requestAnimationFrame(draw);
  35. analyser.getByteTimeDomainData(dataArray);
  36. canvas.lineWidth = '1';
  37. canvas.strokeStyle = 'rgb(3,26,92)';
  38. canvas.beginPath();
  39. var sliceWidth = WIDTH * 1.0 / 3300;
  40. var x = 0;
  41.  
  42. for(var i = 0; i < bufferLength; i++) {
  43.  
  44. var v = dataArray[i] / 128.0;
  45. var y = v * HEIGHT/2;
  46.  
  47. if(i === 0) {
  48. canvas.moveTo(x, y);
  49. }
  50. if(i!==0){
  51. canvas.lineTo(x, y);
  52. }
  53.  
  54. x = sliceWidth+x;
  55. };
  56.  
  57. canvas.lineTo(canvas.width, canvas.height);
  58. canvas.stroke();
  59. };
  60.  
  61. draw();
  62. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement