Minim |
|
left |
Description The AudioBuffer containing the left channel samples. If this is a mono sound, it contains the single channel of audio.Signature AudioBuffer left Related AudioBufferExample /** * This sketch demonstrates how to play a file with Minim using an AudioPlayer. <br /> * It's also a good example of how to draw the waveform of the audio. Full documentation * for AudioPlayer can be found at http://code.compartmental.net/minim/audioplayer_class_audioplayer.html * <p> * For more information about Minim and additional features, * visit http://code.compartmental.net/minim/ */ import ddf.minim.*; Minim minim; AudioPlayer player; void setup() { size(512, 200, P3D); // we pass this to Minim so that it can load files from the data directory minim = new Minim(this); // loadFile will look in all the same places as loadImage does. // this means you can find files that are in the data folder and the // sketch folder. you can also pass an absolute path, or a URL. player = minim.loadFile("groove.mp3"); } void draw() { background(0); stroke(255); // draw the waveforms // the values returned by left.get() and right.get() will be between -1 and 1, // so we need to scale them up to see the waveform // note that if the file is MONO, left.get() and right.get() will return the same value for(int i = 0; i < player.bufferSize() - 1; i++) { float x1 = map( i, 0, player.bufferSize(), 0, width ); float x2 = map( i+1, 0, player.bufferSize(), 0, width ); line( x1, 50 + player.left.get(i)*50, x2, 50 + player.left.get(i+1)*50 ); line( x1, 150 + player.right.get(i)*50, x2, 150 + player.right.get(i+1)*50 ); } // draw a line to show where in the song playback is currently located float posx = map(player.position(), 0, player.length(), 0, width); stroke(0,200,0); line(posx, 0, posx, height); if ( player.isPlaying() ) { text("Press any key to pause playback.", 10, 20 ); } else { text("Press any key to start playback.", 10, 20 ); } } void keyPressed() { if ( player.isPlaying() ) { player.pause(); } // if the player is at the end of the file, // we have to rewind it before telling it to play again else if ( player.position() == player.length() ) { player.rewind(); player.play(); } else { player.play(); } } Usage Web & Application |