html5audio音频自动缓冲,webkitAudioContext HTML5音频缓冲器被卡住

使用以下代码,我使用 HTML5 webkitAudioContext获得用户的麦克风实时级别:var liveSource;

function getLevel(){

var context = new webkitAudioContext();

navigator.webkitGetUserMedia({audio: true}, function(stream) {

liveSource = context.createMediaStreamSource(stream);

liveSource.connect(context.destination);

var levelChecker = context.createJavaScriptNode(4096, 1, 1);

liveSource.connect(levelChecker);

levelChecker.connect(context.destination);

levelChecker.onaudioprocess = function(e) {

var buffer = e.inputBuffer.getChannelData(0);

var maxVal = 0;

//Iterate through buffer to check if any of the |values| exceeds 1.

for (var i = 0; i

if (maxVal

maxVal = buffer[i];

}

}

if(maxVal <= 0.01){

console.log(0.0);

} else if(maxVal> 1){

console.log(1);

} else if(maxVal> 0.2){

console.log(0.2);

} else if(maxVal> 0.1){

console.log(0.1);

} else if(maxVal> 0.05){

console.log(0.05);

} else if(maxVal> 0.025){

console.log(0.025);

} else if(maxVal> 0.01){

console.log(0.01);

}

};

});

}

getLevel();

如果你复制并粘贴到你的控制台,然后点击你的麦克风( 假设你已经启用麦克风输入),你会看到它工作几秒钟。 它不报告任何错误。 谁能解释这发生的原因? 谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值