2011-01-13 18 views
1

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

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

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

私は上記のために得る出力は、次のとおりです。

1月13日16:23:34.941:いくつかの詳細 ディレクトリ:パス=/SDカード/オーディオ を読むことができます:ヌル絶対 パス:リスト偽/ SDカード/オーディオ絶対です:真

以下の質問があります。
1.上記のフォルダを読みやすくするにはどうすればよいですか? dirEffectFiles.setReadable(true)を設定しますか?
2.また、上記のpath_to_mediaは/ sdcard/audio /です。印刷されると、最後の "/"が消えます。これは内部解析の通常の効果ですか、それとも心配すべきですか?

ほとんどのヘルプは大歓迎です。
ありがとう、
Sriram

答えて

0

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

  1. adb shell mkdir /sdcard/audio - これは、SDカード内のオーディオ/サブディレクトリが作成されます/
  2. adb push "complete path of file name to be pushed" /sdcard/audio/file-name
  3. この他の波面についても同様の手順を繰り返す。

これだけです。マウントされた/ sdcardディレクトリからファイルを読み取ることができるはずです。
@thoredge:ご協力いただきありがとうございます。

1

AndroidManifest.xmlに適切な権限を追加しましたか?あなたから何を得るか、また

Environment.getExternalStorageDirectory() 

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

また、正しいSDカードのパスを取得するには、環境メソッドを使用するのが賢明です

dirEffectFiles.exists() 
+0

マニフェストにアクセス権行を追加しました。 getExternalStorageDirectory()から詳細を出力すると、/ mnt/sdcardが外部ストレージディレクトリになります。また、exists()関数はfalseを返します。私はpath_to_mediaを変更する必要があるかもしれないと思う。私はあなたに戻ってみましょう。 – Sriram

+0

path_to_mediaを/ mnt/sdcard/audioに変更すると動作しないようです。しかし、/ mnt/sdcardはプロジェクトディレクトリ内の/ sdcardフォルダを参照しているのですか、それともmksdcardで作られたsdcardのイメージを参照していますか? – Sriram

+0

sdカードがどこにマウントされているかを参照する必要があります。 sdカードが挿入されている場合。 すでにオーディオディレクトリがSDカードに存在していますか?それはすべて小文字ですか(私はそれが大文字小文字か小文字かは分かりません)。 – thoredge

関連する問題