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結果でもありません。私は実際にディレクトリパスをハードコードすることはできません。なぜなら、これは1つのアンドロイドデバイスでしか動作しないからです。私はこれをすべてのアンドロイドデバイスで一般的に動作させる必要があります。
TPath.GetDocumentsPath、TPAth.GetMusicPathなど、すべての種類の神を忘れた場所がありますが、これはファイルエクスプローラでも見つかりません。たとえば、私が使用したいと思う私の「一般的な」音楽の場所は、このパスを返します:/storage/emulated/0/Android/data/com.embarcadero./files/Music。
何か間違っていますか? - ヘルプファイルのアドバイスは何