如何为Mediaplayer设置播放列表索引(ExpressionMediaPlayer:Mediaplayer)

时间:2010-05-06 10:22:45

标签: c# wpf silverlight silverlight-3.0 media-player

我的XAML页面上有一个Mediaplayer控件,如下所示:

<CustomMediaElement:CustomMediaPlayer 
                x:Name="custMediaElement"  
                VerticalAlignment="Center"
                Width="600" Height="300"  Visibility="Collapsed" />

现在我可以使用setPlayList()方法设置playList,如下所示:

private void setPlayList()
            {
                IEnumerable eLevelData = null;
                eLevelData = pMainPage.GetDataFromDictonary(pMainPage.strChildFolderID);

                    foreach (RMSMedia folderItems in eLevelData)
                    {
                        string strmediaURL = folderItems.strMediaFileName;
                        if (hasExtension(strmediaURL) == "wmv" || hasExtension(strmediaURL) == "mp4" || hasExtension(strmediaURL) == "mp3" || hasExtension(strmediaURL) == "mpg")
                        {
                            PlaylistItem playListItem = new PlaylistItem();
                            string thumbSource = folderItems.strAlbumcoverImage;
                            playListItem.MediaSource = new Uri(strmediaURL, UriKind.RelativeOrAbsolute);

                            playListItem.Title = folderItems.strAlbumName;

                            if (!string.IsNullOrEmpty(thumbSource))

                                playListItem.ThumbSource = new Uri(thumbSource, UriKind.RelativeOrAbsolute);

                            playList.Items.Add(playListItem);
                        }
                }


                custMediaElement.Playlist = playList;

            }

现在,当用户点击包含所有歌曲标题的listBox项目时,我想更改Mediaplayer的PlayListIndex。

当用户点击歌曲标题列表中的第三首歌曲标题时,mediaPlayer应播放第三首歌曲,或者如果用户在第7首歌曲标题上播放,则mediaPlayer应播放第7首歌曲。

我的座右铭是从列表框中选取选定的索引并将其分配给mediaPlayer的播放列表索引。

我向playList添加了一只手表,我能够看到,playListItems[0] PlaylistIndex 1

playListItems[1] PlaylistIndex 2

但是当我尝试从代码中设置它时,相同的属性PlaylistIndex似乎不可用。请帮忙。

谢谢, Subhen

1 个答案:

答案 0 :(得分:1)

这并不复杂。我只是不确定这些方法。所以答案如下:

int currentPlayListItem = listBox.SelectedIndex;
custMediaElement.GoToPlaylistItem(currentPlayListItem);