如何从Flutter的内部和外部存储中获取所有mp3文件?

时间:2019-07-12 09:33:30

标签: flutter dart

我想用flutter项目在listview中显示所有歌曲,但我不知道如何访问我的内部文件夹。

首先 我刚刚创建了一个名为“ Shruti”的文件夹,但是它是在/storage/emulated/0/Android/data/com.example.musicplayer/files创建的,但是我只想在/ storage / emulated / 0 /路径。

因为我不知道如何读写内部和外部存储。

final directory = await getApplicationDocumentsDirectory();
     print('Directory= $directory');
     // External storage directory: /storage/emulated/0
     Directory externalDirectory = await getExternalStorageDirectory();

     print('External Storage:$externalDirectory ');


     new Directory(externalDirectory.path+'/'+'Shruti').create(recursive: true)
     .then((Directory directory) {
       print('Path of New Dir: '+directory.path);
     });

2 个答案:

答案 0 :(得分:0)

此代码可用于读取存储。您必须指定路径。

Directory dir = Directory('/storage/emulated/0/');
String mp3Path = dir.toString();
print(mp3Path);
List<FileSystemEntity> _files;
List<FileSystemEntity> _songs = [];
_files = dir.listSync(recursive: true, followLinks: false);
for(FileSystemEntity entity in _files) {
  String path = entity.path;
  if(path.endsWith('.mp3'))
    _songs.add(entity);
}
print(_songs);
print(_songs.length);

P.S。 :-不过请不要忘记权限。

您还可以检查此软件包的其他功能。 https://pub.dev/packages/flutter_audio_query

答案 1 :(得分:0)

您可以使用 flute_music_player 包来获取歌曲。