我正在尝试制作一个更直观的音乐播放应用程序,所以我的问题是:如何访问已经存储在手机音乐库中的音乐?
我需要获取以下信息:-歌曲名称-歌曲艺术家-歌曲专辑-曲目编号
有什么办法吗?
我正在尝试制作一个更直观的音乐播放应用程序,所以我的问题是:如何访问已经存储在手机音乐库中的音乐?
我需要获取以下信息:-歌曲名称-歌曲艺术家-歌曲专辑-曲目编号
有什么办法吗?
MediaLibrary 类是一个用于访问手机上的 MediaFiles(图片、音乐等)的 api,您可以使用以下代码段访问歌曲集合:
using(MediaLibrary library = new MediaLibrary())
{
foreach(var song in library.Songs)
{
Debug.WriteLine("Name: " + song.Name);
Debug.WriteLine("Artist: " + song.Artist.Name);
Debug.WriteLine("Album: " + song.Album.Name);
}
}
您还可以播放歌曲:
MediaPlayer.Play(song);
在您的项目中引用 Microsoft.Xna.Framework.Media 并确保在访问后处置 MediaLibrary。
var library = new MediaLibrary();
1.获取所有歌曲。
foreach (var item in library.Songs)
{
System.Diagnostics.Debug.WriteLine(item.Album.ToString());
System.Diagnostics.Debug.WriteLine(item.Artist.Name);
System.Diagnostics.Debug.WriteLine(item.Duration);
System.Diagnostics.Debug.WriteLine(item.Name);
System.Diagnostics.Debug.WriteLine(item.TrackNumber);
}
2.获取所有专辑。
foreach (var item in library.Albums)
{
System.Diagnostics.Debug.WriteLine("Album ="+ item.Name);
System.Diagnostics.Debug.WriteLine("Artist = "+item.Artist.Name);
System.Diagnostics.Debug.WriteLine("TotalSongs ="+ item.Songs.Count);
}
播放歌曲
播放一首歌
int index =0;
MediaPlayer.Play(library.Songs[index]);
播放歌曲集
MediaPlayer.Play(library.Songs);
播放从特定索引开始的歌曲集合。检查歌曲是否存在于列表中
int index = 5;
if(index<=library.Songs.Count-1)
MediaPlayer.Play(library.Songs, index);