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;
}
}