На предыдущем переполнение стека вопрос, я нашел этот код:Получить уровни звука с HTML5 аудио микрофон потока
<script>
// this is to store a reference to the input so we can kill it later
var liveSource;
// creates an audiocontext and hooks up the audio input
function connectAudioInToSpeakers(){
var context = new webkitAudioContext();
navigator.webkitGetUserMedia({audio: true}, function(stream) {
console.log("Connected live audio input");
liveSource = context.createMediaStreamSource(stream);
liveSource.connect(context.destination);
console.log(liveSource);
});
}
// disconnects the audio input
function makeItStop(){
console.log("killing audio!");
liveSource.disconnect();
}
// run this when the page loads
connectAudioInToSpeakers();
</script>
, который принимает звук с микрофона пользователя и воспроизводит его через динамики. Я хочу, чтобы уровень (амплитуда) ввода (например, я могу отображать красное предупреждение, если происходит отсечение, или сообщить пользователю, что им нужно говорить). В приведенном выше коде, как я могу получить исходные данные?
Например, как я могу регистрировать фактические цифры на консоли? Я предполагаю, что все это хранится в liveSoure?
Мне не нужны никакие умные анимации холста и т. Д., Просто число, которое говорит мне, насколько громким является вход. Это относительно просто? И если да, то как это делается?
Благодаря
Это большое спасибо. – Lars
Просто собираюсь добавить на самом деле, кажется, что он работает всего несколько секунд, а затем перестает работать. Ты знаешь почему? Я поставил здесь отдельный вопрос: http://stackoverflow.com/questions/15900103/html5-audio-buffer-getting-stuck Спасибо – Lars
Для чего это стоит, этот метод очень неэффективен. Однако это необходимо, если вы хотите получить истинные пики в наборе образцов. Более быстрый метод - использовать данные временной области из узла анализатора, но вы можете пропустить некоторые пики. Это не имеет значения, если вы просто делаете визуализацию. – Brad