Minim |
|
skip |
Description Skipsmillis milliseconds from the current position.
millis can be negative, which will make this skip backwards.
If the skip amount would result in a negative position or a position that is greater than
length() , the new position will be clamped to zero or
length() .
Signature void skip(int millis) Parameters millis — int: how many milliseconds to skip, sign indicates directionReturns None Related AudioPlayerExample /** * This sketch demonstrates how to use the <code>skip</code> method of a <code>Playable</code> class. * The class used here is <code>AudioPlayer</code>, but you can also skip an <code>AudioSnippet</code>. * When you skip, it is always measured from the current position of the recording. So <code>skip(100)</code> will * set the "playhead" at 100 milliseconds from the current position. A sort of fast-forward. It is also possible * to skip in a negative direction. So <code>skip(-200)</code> will set the "playhead" to 200 milliseconds before * the current position. Using <code>skip</code> will not change the play state of <code>Playable</code>, * meaning that if it was already playing it will continue playing from the new position, but if it was not playing, * skipping will not start playback, it will simply set the point at which playback will begin. * If an error occurs while trying to skip, the position will not change. * If you try to skip to a position that is less than zero or try to skip past the end of the * recording, the position will be clamped to zero or <code>length()</code>. * <p> * Press 'f' to skip by 1000 milliseconds.<br /> * Press 'r' to skip by -1000 milliseconds. */ import ddf.minim.*; Minim minim; AudioPlayer groove; void setup() { size(512, 200, P3D); minim = new Minim(this); groove = minim.loadFile("groove.mp3", 2048); groove.loop(); } void draw() { background(0); stroke(255); for(int i = 0; i < groove.bufferSize() - 1; i++) { line(i, 50 + groove.left.get(i)*50, i+1, 50 + groove.left.get(i+1)*50); line(i, 150 + groove.right.get(i)*50, i+1, 150 + groove.right.get(i+1)*50); } float posx = map(groove.position(), 0, groove.length(), 0, width); stroke(0,200,0); line(posx, 0, posx, height); stroke(255); text("Press f to skip forward and r to skip backward.", 10, 20); } void keyPressed() { if ( key == 'f' ) { // skip forward 1 second (1000 milliseconds) groove.skip(1000); } if ( key == 'r' ) { // skip backward 1 second (1000 milliseconds) groove.skip(-1000); } } Usage Web & Application |