-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathapp.js
63 lines (52 loc) · 1.46 KB
/
app.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
var navigator = window.navigator;
var Context = window.AudioContext || window.webkitAudioContext;
var context = new Context();
// audio
var mediaStream;
var rec;
// video
var videoMediaStream;
var video;
navigator.getUserMedia = (
navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia
);
function record() {
navigator.getUserMedia({audio: true}, function(localMediaStream){
mediaStream = localMediaStream;
var mediaStreamSource = context.createMediaStreamSource(localMediaStream);
rec = new Recorder(mediaStreamSource, {
workerPath: '/bower_components/Recorderjs/recorderWorker.js'
});
rec.record();
}, function(err){
console.log('Not supported');
});
}
function stop() {
mediaStream.stop();
rec.stop();
rec.exportWAV(function(e){
rec.clear();
Recorder.forceDownload(e, "test.wav");
});
}
function recordVideo() {
navigator.getUserMedia({video: true, audio: true}, function(localMediaStream){
videoMediaStream = localMediaStream;
var Context = window.AudioContext || window.webkitAudioContext;
var context = new Context();
var mediaStreamSource = context.createMediaStreamSource(localMediaStream);
video = document.querySelector('video');
video.src = URL.createObjectURL(localMediaStream);
video.play();
}, function(err){
console.log('Not supported');
});
}
function stopVideo() {
video.pause();
videoMediaStream.stop();
}