Tone.Player

↳ EXTENDS Tone.Source

Tone.Player is an audio file player with start, loop, and stop functions.

CONSTRUCTOR

new Tone.Player (
url
, [
onload
] )
url

Either the AudioBuffer or the url from which to load the AudioBuffer

type: string or AudioBuffer
onload

The function to invoke when the buffer is loaded. Recommended to use Tone.Buffer.on(‘load’) instead.

type: function
optional

DEFAULTS

{
onload : Tone.noOp ,
playbackRate : 1 ,
loop : false ,
autostart : false ,
loopStart : 0 ,
loopEnd : 0 ,
retrigger : false ,
reverse : false ,
fadeIn : 0 ,
fadeOut : 0
}

EXAMPLE

var player = new Tone.Player("./path/to/sample.mp3").toMaster();
//play as soon as the buffer is loaded
player.autostart = true;

Members

.autostart

boolean #

If the file should play as soon as the buffer is loaded.

EXAMPLE

//will play as soon as it's loaded
var player = new Tone.Player({
	"url" : "./path/to/sample.mp3",
	"autostart" : true,
}).toMaster();
</>

.buffer

Tone.Buffer #

The audio buffer belonging to the player.

</>

.loopStart

Time #

If loop is true, the loop will start at this position.

</>

.playbackRate

number #

The playback speed. 1 is normal speed. This is not a signal because Safari and iOS currently don’t support playbackRate as a signal.

</>

.retrigger

boolean #

Enabling retrigger will allow a player to be restarted before the the previous ‘start’ is done playing. Otherwise, successive calls to Tone.Player.start will only start the sample if it had played all the way through.

</>

.reverse

boolean #

The direction the buffer should play in

</>

.fadeIn

Time #

The fadeIn time of the amplitude envelope.

</>

.fadeOut

Time #

The fadeOut time of the amplitude envelope.

</>

.loaded

Boolean READONLY #

If all the buffer is loaded

</>

.loop

boolean #

If the buffer should loop once it’s over.

</>

.loopEnd

Time #

If loop is true, the loop will end at this position.

</>
inherited from Tone.AudioNode

.context

Tone.Context READONLY #

Get the audio context belonging to this instance.

</>
inherited from Tone.Source

.mute

boolean #

Mute the output.

EXAMPLE

//mute the output
source.mute = true;
</>
inherited from Tone.Source

.volume

Decibels #

The volume of the output in decibels.

EXAMPLE

source.volume.value = -6;
</>
inherited from Tone.Source

.state

Tone.State READONLY #

Returns the playback state of the source, either “started” or “stopped”.

</>

Methods

.setLoopPoints ( )

#
loopStart

The loop end time

type: Time
loopEnd

The loop end time

type: Time
↪ returns Tone.Player

this

Set the loop start and end. Will only loop if loop is set to true.

EXAMPLE

//loop 0.1 seconds of the file. 
player.setLoopPoints(0.2, 0.3);
player.loop = true;
</>

.start ( )

#
startTime

When the player should start.

type: Time
default: now
offset

The offset from the beginning of the sample to start at.

type: Time
default: 0
duration

How long the sample should play. If no duration is given, it will default to the full length of the sample (minus any offset)

type: Time
optional
↪ returns Tone.Player

this

Play the buffer at the given startTime. Optionally add an offset and/or duration which will play the buffer from a position within the buffer for the given duration.

</>

.dispose ( )

#
↪ returns Tone.Player

this

Dispose and disconnect.

</>

.load ( )

#
url

The url of the buffer to load. Filetype support depends on the browser.

type: string
callback

The function to invoke once the sample is loaded.

optional
↪ returns Promise

Load the audio file as an audio buffer. Decodes the audio asynchronously and invokes the callback once the audio buffer loads. Note: this does not need to be called if a url was passed in to the constructor. Only use this if you want to manually load a new url.

</>

.seek ( )

#
offset

The time to seek to.

type: Time
time

The time for the seek event to occur.

type: Time
optional
↪ returns Tone.Player

this

Seek to a specific time in the player’s buffer. If the source is no longer playing at that time, it will stop. If you seek to a time that

EXAMPLE

source.start(0.2);
source.stop(0.4);
</>
inherited from Tone.AudioNode

.connect ( )

#
outputNum

optionally which output to connect from

type: number
default: 0
inputNum

optionally which input to connect to

type: number
default: 0
↪ returns Tone.AudioNode

this

connect the output of a ToneNode to an AudioParam, AudioNode, or ToneNode

</>
inherited from Tone.AudioNode

.disconnect ( )

#
output

Either the output index to disconnect if the output is an array, or the node to disconnect from.

↪ returns Tone.AudioNode

this

disconnect the output

</>
inherited from Tone.AudioNode

.toMaster ( )

#
↪ returns Tone.AudioNode

this

Connect ‘this’ to the master output. Shorthand for this.connect(Tone.Master)

EXAMPLE

//connect an oscillator to the master output
var osc = new Tone.Oscillator().toMaster();
</>
inherited from Tone.Source

.sync ( )

#
↪ returns Tone.Source

this

Sync the source to the Transport so that all subsequent calls to start and stop are synced to the TransportTime instead of the AudioContext time.

EXAMPLE

//sync the source so that it plays between 0 and 0.3 on the Transport's timeline
source.sync().start(0).stop(0.3);
//start the transport.
Tone.Transport.start();

 

EXAMPLE

//start the transport with an offset and the sync'ed sources
//will start in the correct position
source.sync().start(0.1);
//the source will be invoked with an offset of 0.4
Tone.Transport.start("+0.5", 0.5);
</>
inherited from Tone.Source

.unsync ( )

#
↪ returns Tone.Source

this

Unsync the source to the Transport. See Tone.Source.sync

</>
inherited from Tone.Source

.stop ( )

#
time

When the source should be stopped.

type: Time
default: now
↪ returns Tone.Source

this

Stop the source at the specified time. If no time is given, stop the source now.

EXAMPLE

source.stop(); // stops the source immediately
</>
docs generated Sep 15 2019