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
-~----------~----~----~----~------~----~------~--~---

Reply via email to