1
|
<div class="sidebar-toggle-labels" style="font-weight: bold; text-transform: uppercase;"><label for="muteMicrophone"><?=$lh->translationFor('microphone')?></label></div>
|
2
|
|
3
|
<!-- mio codice barre -->
|
4
|
|
5
|
<script>
|
6
|
navigator.getUserMedia = navigator.getUserMedia ||
|
7
|
navigator.webkitGetUserMedia ||
|
8
|
navigator.mozGetUserMedia;
|
9
|
if (navigator.getUserMedia) {
|
10
|
navigator.getUserMedia({
|
11
|
audio: true
|
12
|
},
|
13
|
function(stream) {
|
14
|
audioContext = new AudioContext();
|
15
|
analyser = audioContext.createAnalyser();
|
16
|
microphone = audioContext.createMediaStreamSource(stream);
|
17
|
javascriptNode = audioContext.createScriptProcessor(2048, 1, 1);
|
18
|
|
19
|
analyser.smoothingTimeConstant = 0.3;
|
20
|
analyser.fftSize = 1024;
|
21
|
|
22
|
microphone.connect(analyser);
|
23
|
analyser.connect(javascriptNode);
|
24
|
javascriptNode.connect(audioContext.destination);
|
25
|
|
26
|
canvasContext = $("#canvas")[0].getContext("2d");
|
27
|
|
28
|
javascriptNode.onaudioprocess = function() {
|
29
|
var array = new Uint8Array(analyser.frequencyBinCount);
|
30
|
analyser.getByteFrequencyData(array);
|
31
|
var values = 0;
|
32
|
|
33
|
var length = array.length;
|
34
|
for (var i = 0; i < length; i++) {
|
35
|
values += (array[i]);
|
36
|
}
|
37
|
|
38
|
var average = values / length;
|
39
|
|
40
|
// console.log(Math.round(average - 40));
|
41
|
|
42
|
canvasContext.clearRect(0, 0, 150, 300);
|
43
|
canvasContext.fillStyle = '#e08e0b';
|
44
|
canvasContext.fillRect(0, 100 - average, 150, 300);
|
45
|
//canvasContext.fillStyle = '#262626';
|
46
|
//canvasContext.font = "20px impact";
|
47
|
//canvasContext.fillText(Math.round(average - 0), -2, 100);
|
48
|
|
49
|
} // end fn stream
|
50
|
},
|
51
|
function(err) {
|
52
|
console.log("The following error occured: " + err.name)
|
53
|
});
|
54
|
} else {
|
55
|
console.log("getUserMedia not supported");
|
56
|
}
|
57
|
|
58
|
</script>
|
59
|
<div class="sidebar-toggle-labels" style="font-weight: bold; text-transform: uppercase;">MIC TEST</div>
|
60
|
<canvas id="canvas" width="25" height="100"></canvas>
|