I am doing voice recording application on android using AudioRecorder Class and have worked with different Sample Rates 44100,32000,24000,16000 and 8000. The Sample Rate 44100 gives good quality audio but it takes very large size but other samples rate give bad and very bad quality audios with acceptable file sizes. 

Before you say Possible of duplicate questions i have seen the following Links:

[Link1](https://stackoverflow.com/questions/1437888/improve-android-audio-recording-quality)

[Link2](https://stackoverflow.com/questions/9389572/improve-audio-recording-quality-in-android) 

But the referred links are different from question.

my questions is how to get good quality audio with small file size for the sample rates such as 32000,24000 and 8000?

or Is there any way compress the wav file from large size to small one?.

my code sample:

```
tempbufferSize = AudioRecord.getMinBufferSize(16000,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT);
........
mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,16000, AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT,tempbufferSize);
mAudioRecord.startRecording();
.....

```

i have refered the [Link.](http://matrix-examplecode.blogspot.in/2011/12/audio-recording-part-2.html)

please help me.