-
Notifications
You must be signed in to change notification settings - Fork 2
/
recording.js
39 lines (30 loc) · 1.09 KB
/
recording.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
if(!navigator.getUserMedia){
navigator.getUserMedia = (navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia || navigator.msGetUserMedia);
}
var context = new AudioContext();
function hasGetUserMedia() {
return !!(navigator.getUserMedia);
}
if (hasGetUserMedia()) {
var errorCallback = function(e) {
console.log('Reeeejected!', e);
};
// Not showing vendor prefixes.
navigator.getUserMedia({audio: true}, function(localMediaStream) {
// var player = document.querySelector('audio');
// player.src = window.URL.createObjectURL(localMediaStream);
// // Note: onloadedmetadata doesn't fire in Chrome when using it with getUserMedia.
// // See crbug.com/110938.
// player.onloadedmetadata = function(e) {
// // Ready to go. Do some stuff.
// };
var microphone = context.createMediaStreamSource(localMediaStream);
var filter = context.createBiquadFilter();
// microphone -> filter -> destination.
microphone.connect(filter);
filter.connect(context.destination);
}, errorCallback);
} else {
alert('getUserMedia() is not supported in your browser');
}