2016-05-02 1 views
1

Я хочу сделать функцию для управления двумя параметрами в веб-аудио api, эти параметры изменяются в соответствии с элементом ввода на html5. Я не знаю, как заставить его работать по мере необходимости.Функция javascript с двумя элементами и веб-аудио api

Это код входного ползунка:

<div> 
    <input type="range" min="0" max="100" value="0" oninput="BrownVol(this);" />BrownVol</input> 
</div> 

и функция:

BrownVol = function(element) { 
    var fraction = parseInt(element.value)/parseInt(element.max); 
    this.gain_3.gain.value = fraction * fraction; 
}; 

Я хочу добавить еще один параметр на входе, как:

<div> 
    <input type="range" min="0" max="100" value="0" oninput="BrownVol(this, gain_3);" />BrownVol</input> 
</div> 

и замените второй параметр в функции

BrownVol = function(element, type) { 
    var fraction = parseInt(element.value)/parseInt(element.max); 
    this.type.gain.value = fraction * fraction; 
}; 

А еще лучше, если бы я мог определить параметр, как «gain_3.gain» или так ...

Я попытался это, но не работает.

Я не знаю, как это сделать, может ли кто-нибудь помочь мне, пожалуйста? Благодаря!

ответ

0

В вашей второй функции, вы передаете в type

BrownVol = function(element, type) { 

Но вы пытаетесь назвать это как этот

this.type.gain.value = fraction * fraction; 

type не распознается как свойство этого. Если это свойство этого и само имя не является переменной, вы не должны передавать его в качестве параметра. Если это иногда gain_3, а иногда gain_4, вы должны иметь это значение, а не ключ, такой как gain['value'] = 3, а затем в gain вы получите желаемое значение.

+0

Спасибо за ваш ответ! Тип - переменная, у меня есть несколько с одинаковым именем: gain_1 to gain_4 В Web Audio Api Я определил gainNodes с именем gain_x, я хочу изменить значение усиления этого коэффициента усиления с помощью слайдера – Fox

+0

Тогда определенно используйте ключевое значение. вместо того, чтобы пытаться использовать имя переменной как значение, передайте ему согласованное представление, значение которого изменяется. При необходимости используйте многомерный массив. – Goose

Смежные вопросы