2015-01-08 4 views
0

소리 녹음에 의도를 사용합니다.android에 녹음 된 사운드 저장

하지만이 사운드를 sdcard에 저장하는 방법을 모르겠습니다. "file.mkdirs();"폴더를 만듭니다. 어떻게 레코드를 잡고 새 폴더에 저장합니까 (이름 변경)?

레코드가 저장되어야하는 경우 저장 직후에 "저장"단추를 누르십시오. 나는 "기록 된"var가 필요하다고 생각하는데, 만약 기록이 0이고 기록이 1이라면.

저장 기능을 사용하면 소리가 녹음되어 있는지 확인하고 폴더에 저장하십시오.

이 나를 위해 작동
public class ObjSuperior extends ActionBarActivity { 


    int peticion = 1; 
    Uri url1; 
    int recorded = 0; 

    private final String ruta_Sonidos = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/Gueopic/"; 

    private File file = new File(ruta_Sonidos); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_obj_superior); 

     //Si no existe crea la carpeta donde se guardaran las fotos 

     file.mkdirs(); 
    } 


    public void grabarSo(View v) { 
     Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); 
     startActivityForResult(intent, peticion); 
    } 

    public void save(){ 
    //check if file are recorded and save on folder 
    } 

    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode == RESULT_OK && requestCode == peticion) { 
      url1 = data.getData(); 
     } 
    } 
+1

가능한 중복 http://stackoverflow.com/questions을 사용할 수 있습니다/2455102/writing-a-file-to-sdcard) –

답변

0

, 어쩌면 당신이?

public void recordAudio(String fileName) { 
final MediaRecorder recorder = new MediaRecorder(); 
ContentValues values = new ContentValues(3); 
values.put(MediaStore.MediaColumns.TITLE, fileName); 
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); 
recorder.setOutputFile("/sdcard/sound/" + fileName); 
try { 
    recorder.prepare(); 
} catch (Exception e){ 
    e.printStackTrace(); 
} 

final ProgressDialog mProgressDialog = new ProgressDialog(MyActivity.this); 
mProgressDialog.setTitle(R.string.lbl_recording); 
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
mProgressDialog.setButton("Stop recording", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int whichButton) { 
    mProgressDialog.dismiss(); 
    recorder.stop(); 
    recorder.release(); 
    } 
}); 

mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener(){ 
    public void onCancel(DialogInterface p1) { 
     recorder.stop(); 
     recorder.release(); 
    } 
}); 
recorder.start(); 
mProgressDialog.show(); 

} ([SDCARD에 파일을 쓰기]의

+0

답변을 주셔서 감사합니다.하지만 기본 안드로이드 레코더를 열 때 의도를 사용해야합니다. 레코더를 만들지 마십시오. 내 코드는 사운드를 녹음하지만, sve 함수를 실행할 때만이 사운드를 저장하면됩니다. – Phyron

관련 문제