【发布时间】:2016-05-28 06:08:57
【问题描述】:
我正在尝试从设备(内部和 SD 卡)中获取所有媒体文件。到目前为止,我能够从 SD 卡的固定文件夹中获取所有媒体文件。我已经浏览了大多数网页mediastore 。我可以获取媒体信息。但是如何从设备中获取所有音频文件,任何示例都会有所帮助。 我试过这种方式` public class SongDto {
public long songId;
public String songTitle;
public String songArtist;
public String path;
public short genre;
public long duration;
public String album;
public Bitmap albumArt;
public String toString() {
return String.format("songId: %d, Title: %s, Artist: %s, Path: %s, Genere: %d, Duration %s",
songId, songTitle, songArtist, path, genre, duration);
}
并在另一个类名中获取这些值
public class Utils {
private Context _context;
// constructor
public Utils(Context context) {
this._context = context;
}
public static ArrayList<SongDto> getMusicInfos(Context context) {
ArrayList<SongDto> musicInfos = new ArrayList<SongDto>();
现在我正在尝试在另一个类中获取歌曲标题
private ArrayList<SongDto> musicInfos;
private Utils utils;
private ArrayList<String> songPaths = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
utils = new Utils(this);
songPaths = utils. getMusicInfos(songTitle);
}
private void update(){
ArrayAdapter<String> list=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,musicInfos.add(songTitle) );
}
}
我如何才能只获得所需的数组,如歌曲 ID、歌曲艺术家、歌曲持续时间的数组。以及我做错的地方。如何设置 getMusicInfos 方法 `
【问题讨论】:
-
您可以获取 sd 卡的所有文件夹,然后检查包含您的媒体文件的任何文件夹,如果它包含您的文件,则将其添加到您的临时 ARRAYLIST 中...试试这些如有疑问请告诉我...stackoverflow.com/a/9531063/3946958
-
我想从内部和外部存储中获取音频文件
标签: java android file mediastore