Skip to main content

audiorecord is not working properly while using audiotrack in galaxy y



i have written a code which records voice using audiorecord and at the same times it plays that recorded sound using AudioTrack. the main portion of the code is following -







AudioRecord audioRecord = new AudioRecord(

MediaRecorder.AudioSource.MIC, 8000,

AudioFormat.CHANNEL_CONFIGURATION_MONO,

AudioFormat.ENCODING_PCM_16BIT, 16 * 1024);

audioRecord.startRecording();



AudioTrack audioPlayer = new AudioTrack(AudioManager.STREAM_VOICE_CALL, 8000,

AudioFormat.CHANNEL_CONFIGURATION_MONO,

AudioFormat.ENCODING_PCM_16BIT, 16 * 1024, AudioTrack.MODE_STREAM);

audioPlayer.play();



for (int i = 0; i < 500; i++) {

int n = audioRecord.read(recordBuffer, 0, 160);

audioPlayer.write(recordBuffer, 0, n);

}







...........





This code works perfectly in other device . but in galaxy y , its creating problem. in galaxy y its showing obtainbuffer timed out in audiotrack. i run this code successfully in other devices. and i also checkhed that if i write the recorded sound in any file in place of using audiotrack then its working. even while using 44100 hz its working. but while using the exact above code there is nothing but some noise. please help


Comments

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?