Quantcast
Channel: Android Mode - Processing 2.x and 3.x Forum
Viewing all articles
Browse latest Browse all 941

How to make opposite wave player

$
0
0

Hi. I'm trying to make a program that plays the exact opposite of a sound wave. But before that, I need to learn how to properly access the microphone. Here's the sketch I'm trying: import android.app.Activity; import android.os.Bundle; import android.media.AudioFormat; import android.media.AudioRecord; import android.media.MediaRecorder; short[] buffer = null; AudioRecord audioRecord = null; int bufferSize= 1024; float volume = 0; int buflen; void setup() { orientation(PORTRAIT); int freq =44100; int chan = AudioFormat.CHANNEL_IN_MONO; int enc = AudioFormat.ENCODING_PCM_16BIT; int src = MediaRecorder.AudioSource.MIC; buflen = AudioRecord.getMinBufferSize(freq, chan, enc); bufferSize = buflen * 2; audioRecord = new AudioRecord(src, freq, chan, enc, buflen); println(audioRecord); audioRecord.startRecording(); buffer = new short[bufferSize]; } void draw() { background(200); audioRecord.read(buffer, 0, bufferSize); volume = abs(buffer[0]); text("" + volume, 100, 100); //draw a box if you blow the mic if (volume>300) { rect(10, 10, 20, 20); } } void stop() { audioRecord.stop(); audioRecord.release(); audioRecord = null; }

But when I tried it, I got this exeption: ION: Animation Thread Process: processing.test.sketch_171211c, PID: 11072 java.lang.IllegalStateException: startRecording() called on an uninitialized AudioRecord. at android.media.AudioRecord.startRecording(AudioRecord.java:905) at processing.test.sketch_171211c.sketch_171211c.setup(sketch_171211c.java:47) at processing.core.PApplet.handleDraw(Unknown Source) at processing.core.PSurfaceNone.callDraw(Unknown Source) at processing.core.PSurfaceNone$AnimationThread.run(Unknown Source) How should I fix it? I am running a BLU phone.


Viewing all articles
Browse latest Browse all 941

Trending Articles