Windows phone 7的媒体播放器显示下一首歌曲



我想做一些类似于windows phone 7中的媒体播放器,其中显示接下来的几首歌。我会采取什么方法来实现这个目标?

的例子:以前的歌以前的歌当前歌曲第二首歌第二首歌

我的代码现在是这样的:

        void MainPage_Loaded(object sender, RoutedEventArgs e)         
    {         
        List<string> songlist = new List<string>();         
        MediaLibrary library = new MediaLibrary();         
        mySongCollection = library.Songs;         
        MediaPlayer.ActiveSongChanged += new EventHandler<EventArgs>(MediaPlayer_ActiveSongChanged);         
        MediaPlayer.MediaStateChanged += new EventHandler<EventArgs>(MediaPlayer_MediaStateChanged);         
        UpdateCurrentSongInformation();         
    }         
    void UpdateCurrentSongInformation()         
    {         
        try         
        {
            MediaLibrary lb = new MediaLibrary();
            int i = MediaPlayer.Queue.ActiveSongIndex;
           textBlock1.Text= lb.Songs.ToString();
            txtAlbumName.Text = MediaPlayer.Queue.ActiveSong.Album.Name;         
            txtArtistName.Text = MediaPlayer.Queue.ActiveSong.Artist.Name;         
            txtSongName.Text = MediaPlayer.Queue.ActiveSong.Name;
            progressBar1.Maximum = MediaPlayer.Queue.ActiveSong.Duration.Minutes*60+MediaPlayer.Queue.ActiveSong.Duration.Seconds;
            double max = MediaPlayer.Queue.ActiveSong.Duration.Milliseconds;

            BitmapImage bmp = new BitmapImage();         
            bmp.SetSource(MediaPlayer.Queue.ActiveSong.Album.GetAlbumArt());
            imgAlbumCover.Source = bmp;         
        }         
        catch         
        {         
            imgAlbumCover.Source = null;         
        }         
    }

就像Dennis建议的那样,我这样编码:

            MediaLibrary lb = new MediaLibrary();
            int i = MediaPlayer.Queue.ActiveSongIndex;
            NextSong.Text = lb.Songs[i+1].Name;

由于您有MediaPlayer.Queue.ActiveSongIndex,您还可以通过MediaPlayer.Queue[n]的索引访问队列中的现有项,其中n是歌曲索引。您将获得具有相同元数据的Song实例。只要您有当前索引,您就可以将其减1以检查前一首歌曲,并将其增加1以检查下一首歌曲。

最新更新