1

我正在创建一个录制语音的应用程序,当我单击 StopRecording 按钮时,
它存储在 SD 卡/内部存储器中。但是在存储时采用随机名称,例如 sound1356543. 但我需要在用户选择或顺序上设置名称,如
MyAudio1
MyAudio2
MyAudio3
MyAudio
我该怎么做?这是我的代码供参考。

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();
}

}

如何将名称设置为音频文件。
提前致谢。

4

1 回答 1

0

删除此行,然后检查

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

我有同样的问题。

于 2012-08-03T12:43:40.543 回答