import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.media.MediaRecorder;
import android.os.CountDownTimer;
import android.os.Environment;
import android.os.SystemClock;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.gms.common.api.GoogleApiClient;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
voice_recording();
}
void voice_recording(){
CountDownTimer ct = new CountDownTimer(60000,10000) { //1분마다 10초씩
@Override
public void onTick(long millisUntilFinished) {
Date date = new Date();
SimpleDateFormat sdfNow = new SimpleDateFormat("HH:mm:ss");
String strNow = sdfNow.format(date);
String file_name = "["+strNow+"] "+" voice.3gp";
String path = Environment.getExternalStorageDirectory() + "/txtbox/" +file_name;
if(voice_recorder==null){
voice_recorder = new MediaRecorder();
}else{
voice_recorder.reset();
}
voice_recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
voice_recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
voice_recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
voice_recorder.setOutputFile(path);
try {
voice_recorder.prepare();
voice_recorder.start();
Toast.makeText(MainActivity.this, "start recording", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(MainActivity.this, "IOException", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFinish() {
voice_recorder.stop();
voice_recorder.release();
voice_recorder = null;
Toast.makeText(MainActivity.this, "stop recording", Toast.LENGTH_SHORT).show();
}
}.start();
}
}
mediarecord이용해서 3gp파일로 저장했는데 파일은 저장되고 용량도 있는데 지원하지 않는 재생방식이라고 뜨네요... 저장이 제대로 안되는걸까요 ㅠ 파일은 제대로 저장되는데...
그리고 countdowntimer 이용해서 60초간 10초씩 끊어서 저장하는데 이게 문제인 걸까요...?