Media Element Kullanımı

Radyo uygulaması gelistirirken media element kullanmam gerekti.Proje tam bitmedigi icin kısım kısım bitirdigim yer kadarıyla kodlarıyla birlikte yaptıklarımı paylaşıyor olacagım.

Oncelikle sayfamız bir adet meda element ve bir adet listbox ekliyoruz.Listboxa arka plan resmi koydum ben.

[php]
<div> <MediaElement x:Name="mdElementPlayer" HorizontalAlignment="Left" Height="719" Margin="365,10,0,0" VerticalAlignment="Top" Width="991" Grid.ColumnSpan="2"/></div>
<div>        <ListBox x:Name="lstbxNameList" HorizontalAlignment="Left" Height="669" Margin="7,65,0,0" VerticalAlignment="Top" Width="303" Foreground="#FFFFF7F7" FontSize="16" SelectionChanged="lstbxNameList_SelectionChanged"></div>
<div>            <ListBox.Background></div>
<div>                <ImageBrush ImageSource="Images/backgr.jpg"/></div>
<div>            </ListBox.Background></div>
[/php]

Buradaki olayımız listboxtaki kanal isimlerine tıklayınca media elementimizin source kısmına kanalın mms adresini atamak.Oncelikle bunun icin listbox ın icini doldurmak gerekiyor.Ben bunu .txt uzantılı dosyadan kayıtları cekerek yaptım.Once kanalların isimlerini bir .txt uzantılı dosyaya kaydettim sonra mms adreslerinide diger .txt uzantılı dosyaya kaydettim.Yani elimizde çekilecek 2 dosya oldu.Bunun icin ayrı ayrı fonksiyon yazdım.Tabi bu kısaltılabilir.Hepsi tek dosyadan cekilebilir ama baslangıc icin bu ideal.

[php]
<div>IList<string> CurrentFileBuffer = new List<string>();</div>
<div>        IList<string> CurrentFileBuffermms = new List<string>();</div>
<div>        public async void FileReadText()</div>
<div>        {</div>
<div>            var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;</div>
<div>            var file = await folder.GetFileAsync(@"MyFolder\Names.txt");</div>
<div>            var read = await FileIO.ReadLinesAsync(file);</div>
<div>            CurrentFileBuffer = read;</div>
<div></div>
<div>        }</div>
<div>        public async void FileReadTextmms()</div>
<div>        {</div>
<div>            var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;</div>
<div>            var file = await folder.GetFileAsync(@"MyFolder\mms.txt");</div>
<div>            var read = await FileIO.ReadLinesAsync(file);</div>
<div>            CurrentFileBuffermms = read;</div>
<div></div>
<div>        }</div>
[/php]

Sayfanın ilk acılırken calısacak kodlar

[php]
<div>this.InitializeComponent();</div>
<div>            FileReadText();</div>
<div>            FileReadTextmms();</div>
<div>            txtbChnList.Visibility = Windows.UI.Xaml.Visibility.Collapsed;</div>
<div></div>
<div>            lstbxNameList.Visibility = Windows.UI.Xaml.Visibility.Collapsed;</div>
<div>            btnHide.Content = "Kanal İsimleri";</div>
<div>
<div>             for (int i = 0; i < CurrentFileBuffer.Count; i++)</div>
<div>                {</div>
<div>                    lstbxNameList.Items.Add(CurrentFileBuffer[i]);</div>
<div>                }</div>
</div>
<div></div>
<div></div>
[/php]

Listbox ın icini doldurduktan sonra listbox ın selectchange olayına cift tıklıyoruz ve kod kısmında selectedChange fonksiyonunun oluşmasını saglıyoruz.Simdi olusturdugumuz bu fonksiyonun altına

[php]
<div>mdElementPlayer.Source = new Uri(CurrentFileBuffermms[lstbxNameList.SelectedIndex]);</div>
<div>            mdElementPlayer.Play();</div>
[/php]

kodunu yazıyoruz.Mms adres uzerinden yani internetten yayın alan bir radyo programı olusturmus bulunuyoruz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir