Мне было интересно, может ли кто-нибудь помочь мне с помощью измерителя кругового счетчика, я взял какой-то код из другого примера, и я просто проталкиваю вещи, чтобы посмотреть, могу ли я заставить его работать здесь, рабочий пример.Строительный метр метра здания
http://jsbin.com/ixuyid/28/edit
Нажмите пуск с яваскриптом
ниже кодом
var context;
canvas = document.getElementById('myCanvas');
context = canvas.getContext('2d');
//use a reusable function
function drawCircle(num){
console.log(num);
var x = canvas.width/2;
var y = canvas.height/2;
var radius = 75;
var startAngle = 0 * Math.PI;
var endAngle = num * Math.PI;
var counterClockwise = false;
context.beginPath();
context.arc(x, y, radius, startAngle, endAngle, counterClockwise);
context.lineWidth = 5;
// line color
context.strokeStyle = 'black';
context.stroke();
}
drawCircle();
var num = 1;
setInterval(function(){
},1000);
+function(){
var ctx = new webkitAudioContext()
, url = '//kevincennis.com/sound/loudpipes.mp3'
, audio = new Audio(url)
// 2048 sample buffer, 1 channel in, 1 channel out
, processor = ctx.createJavaScriptNode(2048, 1, 1)
, meter = document.getElementById('meter')
, source
audio.addEventListener('canplaythrough', function(){
source = ctx.createMediaElementSource(audio)
source.connect(processor)
source.connect(ctx.destination)
processor.connect(ctx.destination)
audio.play()
}, false);
// loop through PCM data and calculate average
// volume for a given 2048 sample buffer
processor.onaudioprocess = function(evt){
var input = evt.inputBuffer.getChannelData(0)
, len = input.length
, total = i = 0
, rms
while (i < len) total += Math.abs(input[i++])
rms = Math.sqrt(total/len)
meter.style.width = (rms * 100) + '%';
context.clearRect(100,50,200,200);
drawCircle(rms);
}
}()
Я, кажется, имеющими проблемы с уровнями ???
Любая помощь
Wow хороший Кен работает идеально собирается осуществить это в новый проект пытается слишком измените, как видят формы волны, это будет работать вокруг него. Цените помощь. – user1503606