📄 getsetpan.pde
字号:
/** * Get Set Pan * by Damien Di Fede. * * This sketch demonstrates how to use the <code>getPan</code> and * <code>setPan</code> methods of a <code>Controller</code> object. * The class used here is an <code>AudioOutput</code> but you can also * get and set the pan of <code>AudioSample</code>, <code>AudioSnippet</code>, * <code>AudioInput</code>, and <code>AudioPlayer</code> objects. * <code>getPan</code> and <code>setPan</code> will get and set the pan * of the <code>DataLine</code> that is being used for input or output, * but only if that line has a pan control. A <code>DataLine</code> is * a low-level JavaSound class that is used for sending audio to, * or receiving audio from, the audio system. You will notice in this * sketch that you will hear the pan changing (if it's available) but you * will not see any difference in the waveform being drawn. The reason * for this is that what you see in the output's sample buffers is what * it sends to the audio system. The system makes the pan change after * receiving the samples. */import ddf.minim.*;import ddf.minim.signals.*;Minim minim;AudioOutput out;Oscillator osc;WaveformRenderer waveform;void setup(){ size(512, 200); minim = new Minim(this); out = minim.getLineOut(); // see the example AudioOutput >> SawWaveSignal for more about this class osc = new SawWave(100, 0.2, out.sampleRate()); // see the example Polyphonic >> addSignal for more about this out.addSignal(osc); waveform = new WaveformRenderer(); // see the example Recordable >> addListener for more about this out.addListener(waveform); textFont(createFont("SanSerif", 12));}void draw(){ background(0); // see waveform.pde for more about this waveform.draw(); if ( out.hasControl(Controller.PAN) ) { // map the mouse position to the range of the pan float val = map(mouseX, 0, width, -1, 1); // if a pan control is not available, this will do nothing out.setPan(val); // if a pan control is not available this will report zero text("The current pan is " + out.getPan() + ".", 5, 20); } else { text("The output doesn't have a pan control.", 5, 20); }}void stop(){ // always close Minim audio classes when you are finished with them out.close(); minim.stop(); super.stop();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -