글쎄요, 우선 저는 안드로이드 개발에 대해 새로운 것으로, 저는 혼자 학습하고 있습니다. 나는 오디오 레코더 앱을 만들기 위해 튜토리얼을 따라 갔다. 그러나이 튜토리얼에서는 기록 된 파일을 경로/sdcard에 저장합니다. 내 앱이 다른 위치에 저장되기를 바랍니다. 예 :/sdcard/음성 경로 (음성 폴더가 생성되지 않음). 가장 간단한 방법은 무엇입니까? 나는 많은 것을 수색했고 나는 어떤 대답도 찾을 수 없다.오디오 파일을 android의 특정 폴더에 저장하십시오.
내 코드
public class FragmentRecording extends Fragment {
private MediaRecorder recorder;
private String OUTPUT_FILE;
FloatingActionButton stop_fab;
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){
View view=inflater.inflate(R.layout.fragment_recording, container,false);
stop_fab=(FloatingActionButton)view.findViewById(R.id.stop_fab_xml);
//SALIDA DEL ARCHIVO
OUTPUT_FILE=Environment.getExternalStorageDirectory()+"/VoiceRecorder.3gpp";
//GENERAMOS UN METODO PARA SABER LIBERAR EL MICROFONO
LiberarMicro();
//Crea el archivo
File outfile=new File(OUTPUT_FILE);
//Si existe lo borra
if(outfile.exists()){
outfile.delete();
}
//Empieza Proceso de Grabacion
try {
StartRecord();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
stop_fab.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
StopRecord();
}
});
return view;}
protected void StopRecord() {
// TODO Auto-generated method stub
if(recorder!=null){
recorder.stop();
}
}
private void StartRecord() throws IllegalStateException, IOException {
// TODO Auto-generated method stub
recorder=new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(OUTPUT_FILE);
recorder.prepare();
recorder.start();
}
private void LiberarMicro() {
// TODO Auto-generated method stub
if(recorder!=null){
recorder.release();
}
}}