PlayTone: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
 
Line 32: Line 32:
From there, dig further into the docs. There are many more possibilities!)
From there, dig further into the docs. There are many more possibilities!)


== Example (Basic) ==
== Example ==
<pre>
PlayTone(440, 1000);
</pre>
 
Play a chord:
<pre>
Dim C = 261.63
Dim E = 329.63
Dim G = 392.00
PlayTone(C, 1000)
PlayTone(E, 1000)
PlayTone(G, 1000)
</pre>
 
Stop playing tone
<pre>
tone = PlayTone(440,1000)
tone.oscillator.stop()
</pre>


== Example (JavaScript) ==
<tabber>
<pre>
JavaScript=
<syntaxhighlight lang="JavaScript">
PlayTone(440, 1000);
PlayTone(440, 1000);
</pre>


Play a chord:
// Play a chord:
<pre>
var C = 261.63;
var C = 261.63;
var E = 329.63;
var E = 329.63;
Line 66: Line 46:
PlayTone(E, 1000);
PlayTone(E, 1000);
PlayTone(G, 1000);
PlayTone(G, 1000);
</pre>


Stop playing tone:
// Stop playing tone:
<pre>
tone = PlayTone(440,1000);
tone = PlayTone(440,1000);
tone.oscillator.stop();
tone.oscillator.stop();
</pre>
</syntaxhighlight>
|-|
BASIC=
<syntaxhighlight lang="vb.net">
PlayTone(440, 1000);
 
' Play a chord:
Dim C = 261.63
Dim E = 329.63
Dim G = 392.00
PlayTone(C, 1000)
PlayTone(E, 1000)
PlayTone(G, 1000)
 
' Stop playing tone
tone = PlayTone(440,1000)
tone.oscillator.stop()
</syntaxhighlight>
</tabber>


== Output ==
== Output ==

Latest revision as of 22:59, 24 July 2019

PlayTone(frequency, duration[, volume]) in vibrations per second. 440 corresponds to the normal frequency for A.

Description

PlayTone generates a tone with the specified frequency, duration and volume. Playback is immediate, with no on screen controls, making it excellent for user interactions and gaming. The tone is played asynchronously, so if you do PlayTone before the previous tone is complete, two tones will play at the same time, making chords possible.

frequency defines the pitch of the tone, in vibrations per second. 440 corresponds to A in the most music.

duration is the length of the tone, in milliseconds.

volume is optional. 1 is the loudest volume.

PlayTone returns a reference to the sound. You can use this reference to control the sound.

Properties and Methods

The following methods and properties apply to the object which is returned by tone = PlayTone(f,d):

tone.oscillator.onended Name of function to call when tone completes.
tone.oscillator.stop() Stop playing the tone.
tone.oscillator.type Wave form to use. Sine is default. Can be sine, square, sawtooth, triangle or custom.

For more information, see

https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createOscillator

From there, dig further into the docs. There are many more possibilities!)

Example

PlayTone(440, 1000);

// Play a chord:
var C = 261.63;
var E = 329.63;
var G = 392.00;
PlayTone(C, 1000);
PlayTone(E, 1000);
PlayTone(G, 1000);

// Stop playing tone:
tone = PlayTone(440,1000);
tone.oscillator.stop();

PlayTone(440, 1000);

' Play a chord:
Dim C = 261.63
Dim E = 329.63
Dim G = 392.00
PlayTone(C, 1000)
PlayTone(E, 1000)
PlayTone(G, 1000)

' Stop playing tone
tone = PlayTone(440,1000)
tone.oscillator.stop()

Output

(single tone)

(chord)

(nothing - it is stopped before you can hear it start)