소스는 다음과 같구요
public class AudioRecordTest extends Activity {
MediaRecorder recorder = new MediaRecorder();
String path;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
path = "";
File file = Environment.getExternalStorageDirectory();
path = file.getAbsolutePath() + "/test1.3gp";
Button btnStart = (Button)findViewById(R.id.record_start);
btnStart.setOnClickListener(new OnClickListener() {
//녹음 시작
@Override
public void onClick(View v) {
try{
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
//recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();
} catch(IOException e){
e.printStackTrace();
}
}
});
Button btnStop = (Button)findViewById(R.id.record_stop);
btnStop.setOnClickListener(new View.OnClickListener() {
//녹음 정지
@Override
public void onClick(View v){
recorder.stop();
recorder.release();
}
});
Button btnPlay = (Button)findViewById(R.id.play_music);
btnPlay.setOnClickListener(new View.OnClickListener() {
//재생
@Override
public void onClick(View v) {
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(path);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
}
});
}
}
소스는 위와 같구요. 녹음이 제대로 되는데.. 녹음한걸 틀면 느리게 재생됩니다.
웃긴건 에뮬에서 기본 제공하는 녹음기로 녹음을 해도 그걸 재생하면 느리게 재생 된다는 겁니다..
도대체 왜 느려지는지 모르겠습니다.. 알려주세요!!