using System; using System.Collections.Generic; using System.Linq; using System.Text; using Android.App; using Android.Content; using Android.OS; using Android.Runtime; using Android.Views; using Android.Widget; using Android.Provider; namespace Shared { [System.Serializable] public class MusicInfo { static MusicInfo () { System.Threading.Tasks.Task.Run (() => { var cursor = Application.Activity.ContentResolver.Query (MediaStore.Audio.Media.ExternalContentUri, new [] { MediaStore.Audio.AudioColumns.Id,//歌曲ID MediaStore.Audio.AudioColumns.Title,//歌曲名称 MediaStore.Audio.AudioColumns.Artist,//歌曲的歌手名 MediaStore.Audio.AudioColumns.Album,// 歌曲的专辑名 MediaStore.Audio.AudioColumns.AlbumId,//歌曲专辑ID MediaStore.Audio.AudioColumns.Data,//歌曲文件的路径 MediaStore.Audio.AudioColumns.Size,//歌曲的总播放时长 MediaStore.Audio.AudioColumns.Duration,//歌曲的总播放时长 }, null, null, null); for (cursor.MoveToFirst (); !cursor.IsAfterLast; cursor.MoveToNext ()) { musicInfoList.Add (new MusicInfo { SourceType = "Local", ID = cursor.GetString (cursor.GetColumnIndex (MediaStore.Audio.AudioColumns.Id))?.Trim ('<').Trim('>').Replace ("&", ""), Title = cursor.GetString (cursor.GetColumnIndex (MediaStore.Audio.AudioColumns.Title))?.Trim('<').Trim('>').Replace ("&", ""), Artist = cursor.GetString (cursor.GetColumnIndex (MediaStore.Audio.AudioColumns.Artist))?.Trim('<').Trim('>').Replace ("&", ""), Album = cursor.GetString (cursor.GetColumnIndex (MediaStore.Audio.AudioColumns.Album))?.Trim('<').Trim('>').Replace ("&", ""), AlbumId = cursor.GetString (cursor.GetColumnIndex (MediaStore.Audio.AudioColumns.AlbumId))?.Trim('<').Trim('>').Replace ("&", ""), Data = cursor.GetString (cursor.GetColumnIndex (MediaStore.Audio.AudioColumns.Data))?.Replace ("&", ""), Size = cursor.GetString (cursor.GetColumnIndex (MediaStore.Audio.AudioColumns.Size))?.Trim('<').Trim('>').Replace ("&", ""), Duration = cursor.GetString (cursor.GetColumnIndex (MediaStore.Audio.AudioColumns.Duration))?.Trim('<').Trim('>').Replace ("&", ""), }); if (500 <= musicInfoList.Count) { break; } } cursor.Close(); }); } /// /// 歌曲名称 /// public string Title; /// /// 歌曲的歌手名 /// public string Artist; /// /// 歌曲的专辑名 /// public string Album; /// /// 歌曲专辑ID /// public string AlbumId; /// /// 歌曲文件的路径 /// public string Data; /// /// 歌曲的总播放时长 /// public string Size; /// /// 歌曲的总播放时长 /// public string Duration; /// /// 音乐ID /// public string ID; /// /// 网络地址 /// public string URL; /// /// 文件名 /// public string filename; /// /// DLNA列表名 /// public string dlnalistName; /// /// 图片 /// public string Image; /// /// 电台类型 /// public string Cntype; /// /// 电台类型 /// public string Cnkey; /// /// 是否是目录 /// public bool IsDirectory = true; public string SourceType; public string SourceName; readonly static List musicInfoList = new List (); /// /// 获取所有的 /// public static List MusicInfoList { get { return musicInfoList; } } public object Tag; } }