簡體   English   中英

如何在特定位置保存錄制的音頻

[英]how to save recorded Audio on Specific location

使用Media Recorder時,我面臨無效狀態的問題:4如果我選擇以下給出的任何其他路徑:

 fileName =  Environment.getExternalStorageDirectory() + File.separator
                + Environment.DIRECTORY_DCIM + File.separator + "audiorecordtest.3gp";

我想將3gp文件保存到DIRECTORY_DCIM的子文件夾中。 有什么方法可以將記錄保存在DIRECTORY_DCIM之外。

我正在關注https://developer.android.com/guide/topics/media/mediarecorder,僅由我所做的更改是“權限”和“存儲路徑”位置。

嘗試這個 ;

public void recordAndSaveAudioFile(String audioName) {
    saved_path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + "Special Folder";
    File destinationDirectory = new File(saved_path);
    if (!destinationDirectory.exists()) {
        destinationDirectory.mkdirs();
    }

    destinationFile = new File(destinationDirectory, audioName);

    try {
        FileOutputStream outputStream = new FileOutputStream(destinationFile);
        outputStream.flush();
        outputStream.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    setupMediaRecorder(destinationFile);
try {
            mediaRecorder.prepare();
            mediaRecorder.start();

        } catch (IOException e) {
            e.printStackTrace();
        }
        Toast.makeText(this, "Recording...", Toast.LENGTH_SHORT).show();

}



private void setupMediaRecorder(File destination) {
        mediaRecorder = new MediaRecorder();
        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mediaRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
        mediaRecorder.setOutputFile(Uri.parse(String.valueOf(destination)).toString());
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM