hi Dave Sparks: I have changed 50 frames to 400 frmaes, it doesn't work. then I set bufferSizeInBytes to 1000000 to init AudioRecord object, and set update period to 400, it dosn't work too. I had used logcat to watch emulator'log, didn't find this program pid throwed error, Can you give me sample? thanks
On Apr 24, 1:10 am, Dave Sparks <[email protected]> wrote: > I suspect the problem is the interval you chose: 50 frames @ 8KHz is > 6.25 msecs. Your app is not going to be able to handle a callback > every 6.25 msecs. Try something more reasonable like 50 msecs (400 > frames) and see if that works. > > On Apr 23, 1:56 am, Steven_T <[email protected]> wrote: > > > hello everyone, > > I would like to use the new AudioRecord class to record in PCM format. > > Create class and setRecordPositionUpdateListener to it, then start > > recording, I can't get any notification from system forever,why?(I > > didn't get any error when running) > > > please help me, thanks. > > > the next is my code. > > > public class Recorder { > > private static final int AUDIO_SAMPLE_FREQ = 8000; > > private static final int AUDIO_BUFFER_SIZE = 200000; > > > private AudioRecord recorder; > > > public Recorder() > > { > > try > > { > > // init recorder > > recorder = new > > AudioRecord(MediaRecorder.AudioSource.MIC, > > AUDIO_SAMPLE_FREQ, > > > > AudioFormat.CHANNEL_CONFIGURATION_MONO, > > AudioFormat.ENCODING_PCM_16BIT, > > AUDIO_BUFFER_SIZE); > > } > > catch (IllegalArgumentException e) > > { > > e.printStackTrace(); > > } > > > recorder.setRecordPositionUpdateListener(mNotification); > > recorder.setPositionNotificationPeriod(50); > > recorder.setNotificationMarkerPosition(AUDIO_SAMPLE_FREQ); > > } > > > public OnRecordPositionUpdateListener mNotification = new > > OnRecordPositionUpdateListener(){ > > public void onMarkerReached(AudioRecord arg0) { > > // read PCM buffer here > > byte[] audioBuffer = new byte[AUDIO_SAMPLE_FREQ]; > > arg0.read(audioBuffer, 0, AUDIO_SAMPLE_FREQ); > > } > > > public void onPeriodicNotification(AudioRecord arg0) { > > // read PCM buffer here > > byte[] audioBuffer = new byte[AUDIO_SAMPLE_FREQ]; > > arg0.read(audioBuffer, 0, AUDIO_SAMPLE_FREQ); > > } > > > public void StartRecord() > > { > > recorder.startRecording(); > > } > > > public void StopRecord() > > { > > recorder.stop(); > > } > > > public void ReleaseRecord() > > { > > recorder.release(); > > } > > > }; > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

