私はメディアプレーヤーを介していくつかの音声録音を保存しています:
private void startrecording() {
audiofile = getAudiofile();
if (audiofile != null)
myaudiorecoreder = new MediaRecorder();
myaudiorecoreder.setAudioSource(MediaRecorder.AudioSource.MIC);
myaudiorecoreder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
myaudiorecoreder.setOutputFile(audiofile.getAbsolutePath());
myaudiorecoreder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
try {
myaudiorecoreder.prepare();
setRecordstatus(true);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
myrecordtextview.setText("RECORDING STARTED..SPEAK NOW");
myaudiorecoreder.start();
// ここで、audiofile はサウンド ファイルを提供します。これは、ファイル(空)を取得する getAudiofile() のコードです。///
private File getAudiofile() {
String extState = Environment.getExternalStorageState();
if (extState.equals(Environment.MEDIA_MOUNTED)) {
File mediaStorageDir = new File(
Environment.getExternalStorageDirectory() + "/TAUKY/AUDIO");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.e("SDCARD", "failed to create directory");
Toast.makeText(getApplicationContext(),
"FAILED TO CREATE DIR", 0).show();
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date());
mediaFile = new File(mediaStorageDir.getPath() + File.separator
+ "SOUND_" + timeStamp + ".mp3");
// Toast.makeText(getApplicationContext(), "FILE CREATION DONE",
// 0).show();
} else {
Toast.makeText(getApplicationContext(), "NO SDCARD", 0).show();
}
return mediaFile;
}
次のアクティビティでは、sdcard の特定のフォルダー、つまり /TAUKY/AUDIO から取得する方法について説明します。