0

我正在尝试制作一个更直观的音乐播放应用程序,所以我的问题是:如何访问已经存储在手机音乐库中的音乐?

我需要获取以下信息:-歌曲名称-歌曲艺术家-歌曲专辑-曲目编号

有什么办法吗?

4

2 回答 2

5

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。

于 2013-08-07T11:22:57.643 回答
0
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);
}

播放歌曲

  1. 播放一首歌

    int index =0;
    MediaPlayer.Play(library.Songs[index]);
    
  2. 播放歌曲集

    MediaPlayer.Play(library.Songs);
    
  3. 播放从特定索引开始的歌曲集合。检查歌曲是否存在于列表中

    int index = 5;
    if(index<=library.Songs.Count-1)  
    MediaPlayer.Play(library.Songs, index);
    
于 2015-12-14T06:35:16.193 回答