/**
* Load Snippet
* by Damien Di Fede.
*
* This sketch demonstrates how to use the loadSnippet
* method of Minim
. The loadSnippet
method
* allows you to specify the file you want to load with a
* String
. Unlike with loadFile
and loadSample
,
* you are not able to specify a buffer size because an AudioSnippet
* doesn't give you access to the samples as they are played.
*
* Minim is able to load wav files, au files, aif files, snd files, and mp3
* files. When you call loadSnippet
, if you just specify the
* filename it will try to load the file from the data folder of your sketch.
* However, you can also specify an absolute path (such as "C:\foo\bar\thing.wav")
* and the file will be loaded from that location (keep in mind that won't
* work from an applet). You can also specify a URL (such as
* "http://www.mysite.com/mp3/song.mp3") but keep in mind that if you run the
* sketch as an applet you may run in to security restrictions if the applet
* is not on the same domain as the file you want to load. You can get around the
* restriction by signing the applet.
*
* AudioSnippet
is a simple wrapper around a JavaSound Clip
* (It isn't called AudioClip because that's an interface defined in the package
* java.applet). It provides almost the exact same functionality, the main
* difference being that length, position, and cue are expressed in milliseconds
* instead of microseconds. One of the limitations of AudioSnippet
is
* that you do not have access to the audio samples as they are played. However,
* you are spared all of the overhead associated with making samples available.
* An AudioSnippet
is a good choice if all you need to do is play
* a short sound at some point. If your aim is to repeatedly trigger a sound, you
* should use an AudioSample
instead.
*
* Before you exit your sketch make sure you call the close
* method of any AudioSnippet
's you have received from
* loadSnippet
.
*/
import ddf.minim.*;
Minim minim;
AudioSnippet snip;
void setup()
{
size(512, 200, P3D);
minim = new Minim(this);
snip = minim.loadSnippet("groove.mp3");
// play the file
snip.play();
}
void draw()
{
background(0);
// there are no waveforms to draw
}
void stop()
{
// always close Minim audio classes when you are done with them
snip.close();
// always stop Minim before exiting
minim.stop();
super.stop();
}