no, i havent, because my app runs ok on g1 with 1.6 firmware. it just
runs weird on 1.6 emulator. so i am 90% happy already.

btw, my app does not record and play audio at the same time, but it
encodes audio with speex, which should take overhead no less than
playback, i guess.

anyway, i wish you lucks and hope goodle folks will help you solve the
issue.

On Mar 17, 8:55 am, Gabriel Simões <gsim...@gmail.com> wrote:
> Installing ubuntu 9.1 on my machine.
> I will try using linux to develop as I think it will be less confusing
> to develop using NDK.
>
> Hehe: I was thinking about trying to get an answer from someone from
> Google tomorrow at irc. Have you ever tried it?
>
> Won´t anyone who is actually using AudioRecord with success show up
> and tell us what we are doing wrong? :(
>
> On 17 mar, 12:53, HeHe <cnm...@gmail.com> wrote:
>
>
>
> > i heard that too. but some google folk seemed discouraging use of the
> > stuff.
>
> > On Mar 17, 6:27 am, Gabriel Simões <gsim...@gmail.com> wrote:
>
> > > Nope,
>
> > > I´ve paid attention to see if GC was being called, but nothing shows
> > > up on LogCat.
> > > Well, I´ve found some posts on the internet about using AudioRecord´s
> > > native implementation. Isn´t it supported anymore?
>
> > > I still can´t believe we are spending so much time on something that
> > > should be "plug and play". It´s almost becoming "plug and pray"!
>
> > > On 17 mar, 02:41, HeHe <cnm...@gmail.com> wrote:
>
> > > > if you find any native audio interfaces in NDK, please share it with
> > > > me first :)
>
> > > > for your issue, did you check GC? that is, around the time when you
> > > > see buffer overflow msgs, does GC happen too?
>
> > > > On Mar 16, 7:33 pm, Gabriel Simões <gsim...@gmail.com> wrote:
>
> > > > > *** Idea ...
> > > > > Using the NDK native audio interfaces should solve this problem?
>
> > > > > On 16 mar, 22:26, Gabriel Simões <gsim...@gmail.com> wrote:
>
> > > > > > News, but no good news...
>
> > > > > > I´ve tried the source code above on another machine running the sdk
> > > > > > 2.1, an AVD with default parameters plus audio record and audio
> > > > > > playback capabilities, another operational system (linux), etc.
> > > > > > The results? the same we had before .... audio delay (long delay),
> > > > > > chopping, distortion and a metalic voice.
>
> > > > > > I can not believe nobody here in this forum hasn´t been able to
> > > > > > develop any app that can record from the microfone using 
> > > > > > AudioRecord.
> > > > > > Also, anyone here hasn´t even made a loop back from microfone to 
> > > > > > line
> > > > > > out to check the audio being recorded?
>
> > > > > > Please, c´mon guys ... this is not a commercial secret, this won´t
> > > > > > increase competition, and I really can´t see any other reasons not 
> > > > > > to
> > > > > > see some posts from developers who work with audio or other signal
> > > > > > processing using Android.
>
> > > > > > Please, show us a way to go because I´ve tried almost all the
> > > > > > possibilities here (the only one left is to try using a real device)
> > > > > > and revising the code I can´t find what else it could be.
>
> > > > > > *Obs: once again, a program with a thread only to read from
> > > > > > AudioRecord and play with AudioTrack is giving warnings about buffer
> > > > > > overflows (Audio Record). There´s no processing going on and since I
> > > > > > haven´t found anything related to "AudioTrack.play() blocks until 
> > > > > > the
> > > > > > audio stream is played", based on it´s actuall behavior in my app I 
> > > > > > can
> > > > > > ´t see how this class could be useful
> > > > > > for online audio processing applications.
>
> > > > > > Thank you,
> > > > > > Gabriel
>
> > > > > > On 15 mar, 20:53, Gabriel Simões <gsim...@gmail.com> wrote:
>
> > > > > > > Well, just to try I´ve downloaded the SDK 1.6 (v. 4), created a 
> > > > > > > new
> > > > > > > AVD based on that and then tried the source code from the first 
> > > > > > > post
> > > > > > > in two different situations:
>
> > > > > > > - App compiled using SDK 1.6 on an AVD running 1.6
> > > > > > > - App compiled using SDK 1.6 on an AVD running 2.1
>
> > > > > > > Had exactly the same results as "compiling" and running on 2.1: 
> > > > > > > audio
> > > > > > > chopping, distortion and artfacts even if I solo the microfone 
> > > > > > > input
> > > > > > > level (using a 1 second buffer, sometimes the audio decays in a 
> > > > > > > lot
> > > > > > > longer) and AudioRecord buffer overflow messages even if all I do 
> > > > > > > in
> > > > > > > the thread is to read from AudioRecord and to play using 
> > > > > > > AudioTrack.
>
> > > > > > > Tomorrow I will try to test my code using another computer and 
> > > > > > > even
> > > > > > > on
> > > > > > > a real device. In the mean time, any other ideas?
>
> > > > > > > Gabriel
>
> > > > > > > On 15 mar, 01:31, HeHe <cnm...@gmail.com> wrote:
>
> > > > > > > > no chopping, likely because my computer (Core2 E8400) is 
> > > > > > > > lightening
> > > > > > > > fast.
>
> > > > > > > > my AudioRecord.read() returns a value equal to my buffer size, 
> > > > > > > > too.
>
> > > > > > > > however, it returns recorded samples in a speed "faster than 
> > > > > > > > 8khz",
> > > > > > > > which makes later playback sound like my voice is slowed.
>
> > > > > > > > again, the same code works correctly on 1.5 emulator.
>
> > > > > > > > so, seems your problem is not the same as mine :(
>
> > > > > > > > On Mar 14, 6:53 pm, Gabriel Simões <gsim...@gmail.com> wrote:
>
> > > > > > > > > Audio chopping also?
> > > > > > > > > Could you please test the code above?
>
> > > > > > > > > I´ve checked and AudioRecord.read() returns a value equal to 
> > > > > > > > > my buffer
> > > > > > > > > size. Based on that I understand that AudioRecord.read() 
> > > > > > > > > blocks the
> > > > > > > > > execution, waits for the buffer to get a number of samples at 
> > > > > > > > > least
> > > > > > > > > equal to the buffer size and then it returns the audio stream 
> > > > > > > > > (older
> > > > > > > > > "buffer size" number of samples in the AudioRecord internal 
> > > > > > > > > buffer).
>
> > > > > > > > > On 14 mar, 22:34, HeHe <cnm...@gmail.com> wrote:
>
> > > > > > > > > > seems i am experiencing similar issue as you 
> > > > > > > > > > r.http://groups.google.com/group/android-developers/browse_thread/threa...
>
> > > > > > > > > > without any single line of code modification to my app, the 
> > > > > > > > > > count of
> > > > > > > > > > frames recorded by app running on sdk 1.6 emulator is 
> > > > > > > > > > significantly
> > > > > > > > > > more than that recorded by the same app running on sdk 1.5 
> > > > > > > > > > emulator.
>
> > > > > > > > > > however, the same app runs equally well on both 1.5/1.6 
> > > > > > > > > > emulators.
>
> > > > > > > > > > it is weird.....
>
> > > > > > > > > > On Mar 14, 3:00 pm, Gabriel Simões <gsim...@gmail.com> 
> > > > > > > > > > wrote:
>
> > > > > > > > > > > Hello,
>
> > > > > > > > > > > Since my day 1 I´ve been facing problems with Android 
> > > > > > > > > > > AudioRecord API.
> > > > > > > > > > > After a lot of research and a lot more trial and error 
> > > > > > > > > > > I´ve found my
> > > > > > > > > > > way into the code and was able to write an asynctask for 
> > > > > > > > > > > audio streams
> > > > > > > > > > > recording which encapsules most of the audiorecord and 
> > > > > > > > > > > asynctask
> > > > > > > > > > > features as a lib, so the developers doesn´t need to 
> > > > > > > > > > > worry about
> > > > > > > > > > > finding the best audio parameters, work on stop and 
> > > > > > > > > > > release, etc.
> > > > > > > > > > > So far, everything was right.
> > > > > > > > > > > Yesterday I started trying to process the audio I got 
> > > > > > > > > > > from the
> > > > > > > > > > > microfone input and my code was reacting bad. I revisited 
> > > > > > > > > > > it many
> > > > > > > > > > > times and decided then to check the audio I was getting 
> > > > > > > > > > > from the mic.
> > > > > > > > > > > Created in instance of AudioTrack and tried to play it 
> > > > > > > > > > > back. The sound
> > > > > > > > > > > was horrible, with lots of chopping, lots of distortion 
> > > > > > > > > > > and giving me
> > > > > > > > > > > even the sensation of low samplerate playback (a single 
> > > > > > > > > > > word spoken
> > > > > > > > > > > sometimes lasted for seconds on the earphone).
> > > > > > > > > > > To check if it was actually my code I went for the 
> > > > > > > > > > > internet and found
> > > > > > > > > > > the code above. Tried it and got the same results. The 
> > > > > > > > > > > only thing that
> > > > > > > > > > > comes to my mind actually is that, it doesn´t matter what 
> > > > > > > > > > > I do and the
> > > > > > > > > > > configuration I try, I always get the buffer overflow 
> > > > > > > > > > > message. Even if
> > > > > > > > > > > I don´t actually do anything but read from AudioRecord 
> > > > > > > > > > > and write to
> > > > > > > > > > > AudioTrack (example above, and not in debug mode). If the 
> > > > > > > > > > > emulator can
> > > > > > > > > > > ´t do it fast enought .... then I´m completly lost here.
>
> > > > > > > > > > > Based on the output of my algorithm I think the audio 
> > > > > > > > > > > streams I´m
> > > > > > > > > > > reading are not right.
>
> > > > > > > > > > > Have anyone faced this? does anyone know how to solve it? 
> > > > > > > > > > > Could anyone
> > > > > > > > > > > try the code (copy and paste) and check if it´s actually 
> > > > > > > > > > > my computer
> > > > > > > > > > > or my emulator?
>
> > > > > > > > > > > package com.example.test;
>
> > > > > > > > > > > import android.app.Activity;
> > > > > > > > > > > import android.content.Context;
> > > > > > > > > > > import android.media.AudioFormat;
> > > > > > > > > > > import android.media.AudioManager;
> > > > > > > > > > > import android.media.AudioRecord;
> > > > > > > > > > > import android.media.AudioTrack;
> > > > > > > > > > > import android.media.MediaRecorder;
> > > > > > > > > > > import android.os.Bundle;
>
> > > > > > > > > > > public class test extends Activity {
>
> > > > > > > > > > >     boolean isRecording; //currently not used
> > > > > > > > > > >     AudioManager am;
>
> > > > > > > > > > >    /** Called when the activity is first created. */
> > > > > > > > > > >   �...@override
> > > > > > > > > > >    public void onCreate(Bundle savedInstanceState) {
> > > > > > > > > > >        super.onCreate(savedInstanceState);
> > > > > > > > > > >        setContentView(R.layout.main);
> > > > > > > > > > >        am = (AudioManager) 
> > > > > > > > > > > getSystemService(Context.AUDIO_SERVICE);
> > > > > > > > > > >        Record record = new Record();
> > > > > > > > > > >        record.run();
>
> > > > > > > > > > >    }
>
> > > > > > > > > > >       public class Record extends Thread
> > > > > > > > > > >       {
> > > > > > > > > > >              // SoundPower sndPower = new SoundPower();
>
> > > > > > > > > > >               static final int bufferSize = 200000;
> > > > > > > > > > >               final short[] buffer = new 
> > > > > > > > > > > short[bufferSize];
> > > > > > > > > > >               short[] readBuffer = new short[bufferSize];
>
> > > > > > > > > > >               public void run() {
> > > > > > > > > > >                 isRecording = true;
> > > > > > > > > > >                ...
>
> read more »

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to