2012-08-03 33 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()); 

我有同样的问题是这样的。