I tried but having same problem.... Is there any other way to implement live monitor playBack without using audioRecord and AudiTrack.
On Sat, May 28, 2011 at 4:09 AM, Spiral123 <[email protected]> wrote: > wear headphones > > On May 27, 12:52 am, neha jain <[email protected]> wrote: > > thanx 4 rply... > > but if i turn down volume control thn will not be able to hear playbackd > > voice. > > and how to seperate mic and speaker .. > > > > > > > > > > > > > > > > On Thu, May 26, 2011 at 3:19 PM, Ashwani Kumar <[email protected]> > wrote: > > > When the mic can hear the speaker then there is "acoustical feedback > > > howling" because the sound goes around and around. > > > To stop the howling: > > > a) Turn down the gain control or volume control. > > > b) Separate the mic and speaker and point them away from each other. > > > c) Use a good speaker with a flat frequency response instead of a cheap > > > speaker that has a peak in its frequency response > > > > > On Thu, May 26, 2011 at 5:53 PM, neha <[email protected]> wrote: > > > > >> Denial, > > > > >> I tried what u said,but it dint solve my problem but producing more > > >> echo.. > > >> I think its happening bcoz voice coming from speaker is also going in > > >> mic. > > > > >> If u have ny idea about it,Plz help. > > > > >> On May 26, 1:20 pm, Daniel Drozdzewski <[email protected]> > > >> wrote: > > >> > On Thu, May 26, 2011 at 11:59 AM, neha <[email protected]> > wrote: > > >> > > Thanx alot 4 rply > > >> > > but if i use large buffer size ,it produce delay between record > and > > >> > > play. > > > > >> > Neha, > > > > >> > All I suggested was to use the larger of values returned by both > > >> > getMinBufferSize() calls for all 3 aspects: recording, playing and > > >> > transfer of the data instead of arbitrary 400. > > > > >> > > On May 26, 11:46 am, Daniel Drozdzewski < > [email protected] > > > > >> > > wrote: > > >> > >> Neha, > > > > >> > >> Your echo comes from the fact that you are using 400 bytes buffer > to > > >> > >> transfer the recording to the playback. > > >> > >> It will physically take time to fill that buffer and then > process. > > > > >> > >> Making the buffer much smaller might not necessarily work either, > as > > >> > >> it will mean more overhead of the recording + playing management > in a > > >> > >> unit of time. However adjusting the buffer size would be a first > > >> step. > > > > >> > >> You are using getMinBufferSize() method, but you ignore the > returned > > >> > >> values, when it comes to the buffer used to transfer the > recording to > > >> > >> the playback track. > > > > >> > >> You should use Math.max(recordingMinBufferSize, > > >> playbackMinBufferSize) > > >> > >> as a buffer size in all 3 cases. > > >> > >> You should also write only bytesRead bytes, rather than writing > full > > >> > >> buffer every time. > > > > >> > >> Daniel > > > > >> > >> On Thu, May 26, 2011 at 10:28 AM, neha <[email protected]> > wrote: > > >> > >> > Is there any way to synchronize the capturing and playback of > audio > > >> > >> > data in Android? > > > > >> > >> > I am using audioRecord/track to achieve this.But its producing > > >> echo. > > >> > >> > Is there any way to cancel echo. > > >> > >> > My code is- > > >> > >> > { > > >> > >> > isRecording=true; > > > > >> > >> > bufferSize = > > > > >> > AudioRecord.getMinBufferSize(8000,AudioFormat.CHANNEL_CONFIGURATION_MONO,Au > dioFormat.ENCODING_PCM_16BIT); > > >> > >> > audioRecord = new > > >> AudioRecord(MediaRecorder.AudioSource.MIC, > > >> > >> > 8000, > > > > >> AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT, > > >> > >> > bufferSize); > > > > >> > >> > audioRecord.startRecording(); > > > > >> > >> > int BUFFER_SIZE_IN_BYTES > > > > >> > =AudioTrack.getMinBufferSize(RECORDER_SAMPLERATE,AudioFormat.CHANNEL_CONFIG > URATION_MONO,RECORDER_AUDIO_ENCODING); > > >> > >> > AudioTrack audioTrack = new > > >> > >> > AudioTrack(AudioManager.STREAM_SYSTEM, > > > > >> 8000,AudioFormat.CHANNEL_CONFIGURATION_MONO, > > > > >> AudioFormat.ENCODING_PCM_16BIT, BUFFER_SIZE_IN_BYTES, > > > > >> AudioTrack.MODE_STREAM); > > >> > >> > byte[] buffer=new byte[400]; > > >> > >> > audioTrack.play(); > > >> > >> > while (isRecording) { int > bytesRead > > >> = audioRecord.read(buffer, > > >> > >> > 0, > > >> > >> > 400); > > >> > >> > int bytesWritten = > > >> audioTrack.write(buffer, 0, 400); > > > > >> > >> > } > > > > >> > >> > -- > > >> > >> > 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 > > > > >> > >> -- > > >> > >> Daniel Drozdzewski > > > > >> > > -- > > >> > > 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 > > > > >> > -- > > >> > Daniel Drozdzewski > > > > >> -- > > >> 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 > > > > > -- > > > 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 > > -- > 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 > -- 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

