AMcoder - javascript, python, java, html, php, sql

Ինչպես փոխել մկնիկի ներքևում/վերև գործարկվող տատանումների ձայնի բարձրությունը սահիչով և այն պահպանել վիճակը մկնիկի տեղադրման իրադարձությունից հետո Javascript-ի և Web Audio API-ի միջոցով:

Կոդի մեկնաբանությունները պետք է լինեն ինքնուրույն:

<div id="pad2"></div>
<input id="oscPitch" type="range" min="5" max="500" step="1" value="50"/>
<p>Pitch</p>

<script>


context = new webkitAudioContext();         
var pad2 = document.getElementById("pad2");
pad2.onmousedown= function () {
oscillator = context.createOscillator(),  // Creates the oscillator 
oscillator.type = 2;                      // 4 oscillator types    // Pitch
oscillator.connect(context.destination);  // Connects it to output
oscillator.noteOn(0); 
document.getElementById('oscPitch').addEventListener('change', function() {
oscillator.frequency.value = this.value;
});  
};

// If you remove the mouse up event below and change the pitch slider it works fine. But I want to have the pitch slider retain it's state before & after the mouse up event. Itried storing the getElementId of the slider element to a variable and playing with it but I couldn't chisel it out.

pad2.onmouseup = function ()    {  
oscillator.disconnect(); 

};




</script>

ԽՄԲԱԳՐԵԼ. Ես մի փոքր ավելի մոտ եմ այս հարցում.

<input id="oscPitch" type="range" min="5" max="500" step="1" value="90"/>
<p>Pitch</p>

<script>



context = new webkitAudioContext();         
var pad2 = document.getElementById("pad2");

var pitchState = document.getElementById('oscPitch').value;

pad2.onmousedown= function () {
oscillator = context.createOscillator(),  // Creates the oscillator 
oscillator.type = 2;  
oscillator.frequency.value = pitchState;                   
oscillator.connect(context.destination);  // Connects it to output
oscillator.noteOn(0); 


};

pad2.onmouseup = function ()    {  
oscillator.disconnect(); 

};

</script>

Պատասխանները:


1

Հասկացա.

<input id="oscPitch" type="range" min="5" max="500" step="1" value="90"/>
<p>Pitch</p>

<script>



context = new webkitAudioContext();         
var pad2 = document.getElementById("pad2");



pad2.onmousedown= function () {
var pitchState = document.getElementById('oscPitch').value;
oscillator = context.createOscillator(),  // Creates the oscillator 
oscillator.type = 2;  
oscillator.frequency.value = pitchState;                   
oscillator.connect(context.destination);  // Connects it to output
oscillator.noteOn(0); 


};

pad2.onmouseup = function ()    {  
oscillator.disconnect(); 

};










</script>
10.01.2013
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..