2012-08-03 68 views
1

我正在創建一個記錄語音的應用程序,當我點擊StopRecording按鈕時,它存儲在SD卡/內部存儲器中,其中
。但是,它存儲它隨機的名稱,如sound1356543。但我需要用戶的選擇或序列集名稱明智像
MyAudio1
MyAudio2
MyAudio3
MyAudion
我怎樣才能做到這一點?這裏是我的代碼供參考。如何在SD卡中存儲時設置/重命名音頻?

File sampleDir = Environment.getExternalStorageDirectory();   

     audiofile = File.createTempFile("Recording", ".3gp", sampleDir);      
      recorder = new MediaRecorder(); 
      recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
      recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
      //recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
      recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
      recorder.setOutputFile(audiofile.getAbsolutePath()); 

protected void addRecordingToMediaLibrary() { 
    ContentValues values = new ContentValues(4); 
    long current = System.currentTimeMillis(); 
    values.put(MediaStore.Audio.Media.TITLE, "audio" + audiofile.getName()); 
    values.put(MediaStore.Audio.Media.DATE_ADDED, (int) (current/1000)); 
    values.put(MediaStore.Audio.Media.MIME_TYPE, "audio/3gpp"); 
    values.put(MediaStore.Audio.Media.DATA, audiofile.getAbsolutePath()); 
    ContentResolver contentResolver = getContentResolver(); 

    Uri base = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
    Uri newUri = contentResolver.insert(base, values); 

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, newUri)); 
    Toast.makeText(this, "Added File " + newUri, Toast.LENGTH_LONG).show(); 
} 

}

如何設置名稱的音頻文件。
在此先感謝。

+0

audiofile的文件名是什麼?如果你只是改變它的路徑呢? – Liron 2012-08-03 12:15:50

+0

它採取隨機名稱,我想分配名稱音頻文件的用戶需求..... – 2012-08-03 12:17:25

回答

0

刪除此行,然後檢查

values.put(MediaStore.Audio.Media.TITLE, "audio" + audiofile.getName()); 

我有同樣的問題是這樣的。