PlayTone: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
''STILL UNDER CONSTRUCTION''
PlayTone(''frequency'', ''duration''[, ''volume'']) in vibrations per second. 440 corresponds to the normal frequency for A.
 
PlayTone(''frequency'', ''duration''[, ''volume''])


== Description ==
== Description ==
Line 7: Line 5:
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.
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''
''frequency'' defines the pitch of the tone, in vibrations per second. 440 corresponds to A in the most music.


''duration''
''duration'' is the length of the tone, in milliseconds.


''volume''
''volume'' is optional. 1 is the loudest volume.


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


== Properties and Methods ==


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


{| class="wikitable"
{| class="wikitable"
|-
|-
| soundRef.start(0) || Start playing the sound. PlaySound auto plays, so this is not normally needed.
| tone.oscillator.onended || Name of function to call when tone completes.
|-
|-
| soundRef.stop(0) || Stop playing the sound.
| tone.oscillator.stop() || Stop playing the tone.
|-
|-
| soundRef.loop || Make the sound loop endlessly
| 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


== Example (Basic) ==
== Example (Basic) ==
<pre>
<pre>
   PlaySound "BellToll.wav"
   PlayTone(440, 1000);
</pre>
</pre>


Make sound loop
Play a chord:
<pre>
<pre>
   bell = PlaySound("BellToll.wav")
   Dim C = 261.63
   bell.loop=True
   Dim E = 329.63
  Dim G = 392.00
  PlayTone(C, 1000)
  PlayTone(E, 1000)
  PlayTone(G, 1000)
</pre>
</pre>


Stop playing sound
Stop playing tone
<pre>
<pre>
   bell.stop()
   tone = PlayTone(440,1000)
  tone.oscillator.stop()
</pre>
</pre>


== Example (JavaScript) ==
== Example (JavaScript) ==
<pre>
<pre>
NSB.PlaySound("BellToll.wav");
  PlayTone(440, 1000);
</pre>
</pre>
Make sound loop
 
Play a chord:
<pre>
<pre>
  bell = NSB.PlaySound("BellToll.wav");
    var C = 261.63;
  bell.loop=true;
    var E = 329.63;
    var G = 392.00;
    PlayTone(C, 1000);
    PlayTone(E, 1000);
    PlayTone(G, 1000);
</pre>
</pre>


Stop playing sound
Stop playing tone:
<pre>
<pre>
   bell.stop()
   tone = PlayTone(440,1000);
  tone.oscillator.stop();
</pre>
</pre>


== Output ==
== Output ==


(sound of a bell tolling)
(single tone)
(chord)
(nothing - it is stopped before you can hear it start)


[[Category:Language Reference]]
[[Category:Language Reference]]


[[Category:Messages]]
[[Category:Messages]]

Revision as of 18:40, 13 December 2015

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

Example (Basic)

  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()

Example (JavaScript)

  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();

Output

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