0

私はメディアプレーヤーを介していくつかの音声録音を保存しています:

private void startrecording() {

        audiofile = getAudiofile();
        if (audiofile != null)
            myaudiorecoreder = new MediaRecorder();
        myaudiorecoreder.setAudioSource(MediaRecorder.AudioSource.MIC);
        myaudiorecoreder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        myaudiorecoreder.setOutputFile(audiofile.getAbsolutePath());
        myaudiorecoreder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
        try {
            myaudiorecoreder.prepare();
            setRecordstatus(true);

        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        myrecordtextview.setText("RECORDING STARTED..SPEAK NOW");
        myaudiorecoreder.start();

// ここで、audiofile はサウンド ファイルを提供します。これは、ファイル(空)を取得する getAudiofile() のコードです。///

private File getAudiofile() {
        String extState = Environment.getExternalStorageState();
        if (extState.equals(Environment.MEDIA_MOUNTED)) {
            File mediaStorageDir = new File(
                    Environment.getExternalStorageDirectory() + "/TAUKY/AUDIO");
            if (!mediaStorageDir.exists()) {
                if (!mediaStorageDir.mkdirs()) {
                    Log.e("SDCARD", "failed to create directory");
                    Toast.makeText(getApplicationContext(),
                            "FAILED TO CREATE DIR", 0).show();
                    return null;
                }
            }
            String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
                    .format(new Date());
            mediaFile = new File(mediaStorageDir.getPath() + File.separator
                    + "SOUND_" + timeStamp + ".mp3");
            // Toast.makeText(getApplicationContext(), "FILE CREATION DONE",
            // 0).show();

        } else {
            Toast.makeText(getApplicationContext(), "NO SDCARD", 0).show();
        }
        return mediaFile;
    }

次のアクティビティでは、sdcard の特定のフォルダー、つまり /TAUKY/AUDIO から取得する方法について説明します。

4

1 に答える 1

1

あなたの質問はあまり明確ではありませんが、SDカードに保存した後にファイルを再生したい場合は、ファイルへのパスがわかっているので、そのようなことを行うことができます。

FileDescriptor fd = null;
File baseDir = Environment.getExternalStorageDirectory();
String audioPath = baseDir.getAbsolutePath() + /TAUKY/AUDIO/SOUND_ + timeStamp + ".mp3";
FileInputStream fis = new FileInputStream(audioPath);
fd = fis.getFD();

MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(fd);
mediaPlayer.prepare();
mediaPlayer.start();

テストできなかったので100%確信はありませんが、そのようなものになるはずです。お役に立てれば。

于 2013-02-06T17:12:58.563 に答える