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

내가 위 얻을 출력입니다 :

01-13 16 : 23 : 34.941 : 일부 세부 사항을 대한 디렉토리 : 경로 =/SDCARD/오디오 은 읽을 수 : 거짓 목록 : 널 절대 경로 :/SDCARD/오디오 절대 : 사실

다음 질문이 있습니다.
1. 위의 폴더를 어떻게 읽을 수 있습니까? dirEffectFiles.setReadable(true)을 설정 하시겠습니까?
2. 위의 path_to_media은/sdcard/audio /입니다. 인쇄되면 마지막 "/"이 사라집니다. 그것은 내부 파싱의 정상적인 효과입니까, 아니면 걱정해야합니까 ??

어떤 도움이 가장 환영받습니다.
감사합니다.
Sriram.

답변

0

/위에 언급 된 sdcard/audio는 프로젝트 디렉토리에서 만들어진 디렉토리입니다. 이 접근법은 잘못되었습니다. 의 sdcard를 에뮬레이션하기위한 디렉토리 (명령 프롬프트 (Windows에서)) ADB과 같이 사용하여 작성해야합니다

  1. adb shell mkdir /sdcard/audio을 -이 sdcard에있는 오디오/하위 디렉토리를 생성합니다/
  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

관련 문제