1

プロジェクトにディレクトリ/sdcard/audioがあります。このディレクトリには、いくつかのオーディオ(wav)ファイルが含まれています。
これが私がやろうとしていることです:
1。ディレクトリから読み取ります。
2.wavファイルを再生します。

ディレクトリにアクセスするために私が書いたコードは次のとおりです。

String path_to_media = "/sdcard/audio/";
File dirEffectFiles = new File(path_to_media);   //gets a handle to the directory of effect files.
Log.v(this.toString(), "Getting into path = " + path_to_media);
Log.v(this.toString(), "Some details about the directory: path = " + dirEffectFiles.getPath()
                + " Can read: " + dirEffectFiles.canRead() + " list:" + dirEffectFiles.list()
                + " absolute path:" + dirEffectFiles.getAbsolutePath() + " is absolute:" + dirEffectFiles.isAbsolute()); 

上記の出力は次のとおりです。

01-13 16:23:34.941:ディレクトリに関する詳細:path = / sdcard / audio読み取り可能:false list:null絶対パス:/ sdcard / audio isabsolute:true

次の質問があります
。1。上記のフォルダを読み取り可能にするにはどうすればよいですか。設定することでdirEffectFiles.setReadable(true)?2.また、上記は/ sdcard /audio/
であることに注意してください。path_to_media印刷すると、最後の「/」が消えます。これは内部解析の通常の効果ですか、それとも心配する必要がありますか?

どんな助けでも大歓迎です、
ありがとう、
Sriram。

4

2 に答える 2

1

AndroidManifest.xmlに適切な権限を追加しましたか?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

また、環境メソッドを使用して正しいSDカードパスを取得することをお勧めします。

Environment.getExternalStorageDirectory()

また、あなたは何から得ますか:

dirEffectFiles.exists()
于 2011-01-13T11:33:07.347 に答える
0

上記の/sdcard/ audioは、プロジェクトディレクトリに作成されたディレクトリです。このアプローチは間違っています。SDカードをエミュレートするためのディレクトリは、次のように(コマンドプロンプト(Windows)で)adbを使用して作成する必要があります。

  1. adb shell mkdir /sdcard/audio -これにより、sdcard/にaudio/サブディレクトリが作成されます
  2. adb push "complete path of file name to be pushed" /sdcard/audio/file-name
  3. この手順は、他のウェーブファイルに対して繰り返されます。

それでおしまい。マウントされた/sdcardディレクトリからファイルを読み取ることができるはずです。
@thoredge:あなたの助けに感謝します。

于 2011-01-18T13:59:11.253 に答える