c# - Make a Playlist Dynamically -
private queue<uri> playlist = new queue<uri>();
playlist.enqueue(new uri(@"d:\media1"));
playlist.enqueue(new uri(@"d:\media2"));
playlist.enqueue(new uri(@"d:\media3"));
here making playlist hard coded. want populate playlist string array. how possible?
my string array string[] mylist=new string[3];
mylist[0]=@"d:\media1; mylist[1]=@"d:\media2; mylist[2]=@"d:\media3;
i have done this:
for (int = 0; < mylist.length; i++) { playlist.enqueue(new uri(mylist[i])); mediaelement.play(); }
but playing last media.....
the problem mediaelement doesn't have playlist feature, can implement yourself. implement mediaendedevent mediaelement
, play next element in string array. xaml code:
<window x:class="wpfapp.mainwindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:wpfapp" mc:ignorable="d" title="mainwindow" height="350" width="525"> <grid> <grid.rowdefinitions> <rowdefinition height="320*"/> <rowdefinition height="50*"/> </grid.rowdefinitions> <mediaelement x:name="mediaelement" grid.rowspan="1" loadedbehavior="manual" mediaended="mediaelement_mediaended"/> <stackpanel orientation="horizontal" grid.row="1" horizontalalignment="center"> <button x:name="btnplay" content="next" click="mediaelement_mediaended" width="50" height="25" margin="5"/> </stackpanel> </grid> </window>
and c# code:
public partial class mainwindow : window { private string[] mylist = new string[3]; public mainwindow() { initializecomponent(); mylist[0] = @"d:\media1"; mylist[1] = @"d:\media1"; mylist[2] = @"d:\media1"; mediaelement.source = new uri(mylist[0]); mediaelement.play(); } private void mediaelement_mediaended(object sender, routedeventargs e) { (int = 0; < mylist.length - 1; i++) { uri current = new uri(mylist[i]); if (mediaelement.source == current) { mediaelement.source = new uri(mylist[i + 1]); break; } } mediaelement.play(); } }
Comments
Post a Comment