-
Notifications
You must be signed in to change notification settings - Fork 0
/
audio.js
28 lines (25 loc) · 893 Bytes
/
audio.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
// クロスブラウザ定義
navigator.mediaDevices.getUserMedia =
navigator.mediaDevices.getUserMedia ||
navigator.mediaDevices.webkitGetUserMedia ||
navigator.mediaDevices.mozGetUserMedia ||
navigator.mediaDevices.msGetUserMedia;
$(function(){
$('#btn_rec').on('click' ,function() {
navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(handleSuccess);
});
});
var handleSuccess = function(stream){
const bufferSize = 1024;
var context = new AudioContext();
var source = context.createMediaStreamSource(stream);
var processor = context.createScriptProcessor(bufferSize ,1 ,1);
source.connect(processor);
processor.onaudioprocess = function(e){
var inputdata = e.inputBuffer.getChannelData(0);
for (var i=0 ;i<bufferSize ;i++){
$('#txt_data').append(inputdata[i] + '<br>');
}
}
processor.connect(context.destination);
}