-1

ユーザーの声を外部メモリに録音していますが、ユーザーが電話に SD カードを持っていない場合に備えて、録音されたファイルは内部メモリに保存する必要があります。

static final String PREFIX = "record";
static final String EXTENSION = ".3gpp";

if (file == null) {
                File rootDir = Environment.getExternalStorageDirectory();
                file = File.createTempFile(PREFIX, EXTENSION, rootDir);
            }

同じファイルを内部メモリに保存するにはどうすればよいですか?

よろしくお願いします!!!!

4

2 に答える 2

0

まず、外部ストレージ カードが利用可能かどうかを確認する必要があります。利用可能な場合は、その中にファイルを保存できます。それ以外の場合は電話のメモリに。

内部ストレージの使用方法は次のとおりです。

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close(); 

外部ストレージの可用性を確認しています:

boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();

if (Environment.MEDIA_MOUNTED.equals(state)) {
    // We can read and write the media
    mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // We can only read the media
    mExternalStorageAvailable = true;
    mExternalStorageWriteable = false;
} else {
    // Something else is wrong. It may be one of many other states, but all we need
    //  to know is we can neither read nor write
    mExternalStorageAvailable = mExternalStorageWriteable = false;
}

詳細については、これをチェックしてください

于 2013-02-07T10:27:03.003 に答える
-1
  Try this:

   File rootDir = Environment.getExternalStorageDirectory();

   rootDir.mkdir();

   try {
    output=File.createTempFile(PREFIX, EXTENSION, rootDir);
} catch (IOException e1) {
   e1.printStackTrace();
}
于 2013-02-07T10:18:53.177 に答える