Firemonkey (Delphi XE6)가있는 기본 MP3 플레이어 Android 앱을 개발 중입니다. 여기서 MP3 파일은 설치 후 SD 카드 (외부)에 추가됩니다. 따라서 사용자가 기기에서 앱을 활성화/열었 으면 특정 MP3 파일을 검색 할 수 있도록 앱이 필요합니다.Firemonkey가있는 Android 장치에서 특정 파일을 찾으려면 어떻게합니까?
파일 검색 코드는 괜찮지 만, 내 문제는 파일을 SD 카드에 저장하고 코드에서 폴더/디렉토리 위치를 찾는 방법입니다.
개념은 매우 간단해야하지만, Firemonkey는 (겉으로보기에)이 것보다 훨씬 더 어렵게 만듭니다.
var
sr : TSearchRec;
i : Integer;
Storage : String;
begin
//List files found on SD Card on device only, for now
Storage := TPath.Combine(TPath.GetMusicPath, '*.mp3');
if FindFirst(Storage, faAnyfile, sr) = 0 then
begin
repeat
listSessions.Items.Add(sr.Name);
until FindNext(sr) <> 0;
end;
FindClose(sr);
end;
내가 알고 싶은 모든 난에 검색을 지적 할 모두의 사랑이 좋은 순수,를 들면 다음과 같습니다
내 파일 검색 코드? 위의 위치는 어떤 기쁨도 제공하지 않으며 일반 GetMusicPath 결과도 아닙니다. 디렉토리 경로를 하드 코드 할 수 없습니다. 그 이유는이 디렉토리가 하나의 안드로이드 장치에서만 작동하기 때문입니다. 모든 안드로이드 기기에서 일반적으로 작동해야합니다.TPath.GetDocumentsPath, TPAth.GetMusicPath 및 기타 다른 모든 것들은 나에게 파일 탐색기에서 찾을 수없는 모든 종류의 신의 버림받은 위치를 가져옵니다. 예를 들어 내 "일반"음악 위치 (사용하려는 음악 위치)는 /storage/emulated/0/Android/data/com.embarcadero./files/Music 경로를 반환합니다.
내가 잘못 했나요? - 도움말 파일 조언이 무엇