おはようございます。
p5.jsを使って音声に関する仕掛けを作りたいと考えているもので、サーバー側の言語にはNode.jsのExpressフレームワークを使っています。
javascript
1//app.js(サーバー側) 2var express = require('express'), 3 app = express(), 4 server = require('http').Server(app); 5 6 7app.use('/public',express.static(__dirname+'/public')); 8 9app.get('/',function(req,res){ 10 res.sendfile(__dirname+'/public/index.html'); 11}) 12 13 14server.listen(3000); 15console.log('now comming...');
html
1//index.html 2<!DOCTYPE html> 3<html lang="ja"> 4<head> 5<meta charset="UTF-8"> 6<title>p5 js</title> 7</head> 8<body> 9 10<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.22/p5.min.js"></script> 11<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.22/addons/p5.sound.min.js"></script> 12<script src="../public/sketch.js"></script> 13</body> 14</html>
javascript
1//sketch.js 2var input; 3var analyzer; 4 5var mic; 6 7function setup(){ 8 createCanvas(710,200); 9 10 mic = new p5.AudioIn(); 11 12 mic.start(); 13} 14 15function draw(){ 16 background(200); 17 18 var vol = mic.getLevel(); 19 if(vol > 0.1){ 20 console.log(vol); 21 } 22 23 fill(127); 24 stroke(0); 25 26 var h = map(vol, 0, 1, height, 0); 27 ellipse(width/2, h - 25, 50, 50); 28}
このコードはfirefoxでは機能したのですが、その他使いたいと考えているchromeやsafariではエラーがでて機能しません........。
safariでは、「This browser does not support MediaStreamTrack」とでてエラーになり、
chromeでは、コンソールに、p5.sound.min.jsに対してNavigatorUserMediaError {}というのが出ていて、キャンバスに描画まではされるものの、音声入力が全くできません。
これら二つのブラウザでも正常に起動できるようにするにはどのようにしたら良いでしょうか?
どなたかご存知の方、教えて下さい。
あなたの回答
tips
プレビュー