Abtract này chứa một method có tác dụng cập nhật lại giao diện ứng dụng ngay sau khi dữ liệu thay đổi
using Streaming.Interfaces;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media.Imaging;
namespace Streaming.Modules.ListMusic
{
public class MusicObject : PropertyChangedBase
{
private BitmapImage _imageBitmap;
public BitmapImage ImageBitmap
{
get
{
return _imageBitmap;
}
set
{
_imageBitmap = value;
NotifyPropertyChanged("ImageBitmap");
}
}
private string _title;
public string Title
{
get
{
return _title;
}
set
{
_title = value;
NotifyPropertyChanged("Title");
}
}
private string _linkVideo;
public string LinkVideo
{
get
{
return _linkVideo;
}
set
{
_linkVideo = value;
NotifyPropertyChanged("LinkVideo");
}
}
public MusicObject() { }
public MusicObject(String imageUrl, String title,String linkVideo)
{
Uri uri = new Uri(imageUrl);
ImageBitmap = new BitmapImage(uri); Title = title;
LinkVideo = linkVideo;
}
}
}
Load dữ liệu ở đây
MusicModel
using Streaming.Interfaces;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace Streaming.Modules.ListMusic
{
public class MusicModel : PropertyChangedBase
{
private List<MusicObject> _musics;
public List<MusicObject> Musics
{
get
{
return _musics;
}
set
{
_musics = value;
NotifyPropertyChanged();
}
}
public MusicModel()
{
Musics = new List<MusicObject>();
}
public List<MusicObject> LoadData(List<MusicObject> musics)
{
Musics = musics;
return Musics;
}
}
}
Modules ucListMusic : nhiệm vụ như ModelView
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using System.Windows.Media;
using Microsoft.Phone.Tasks;
namespace Streaming.Modules.ListMusic
{
public partial class ucListMusic : UserControl
{
private List<MusicObject> _musics;
public List<MusicObject> Musics
{
get
{
return _musics;
}
set
{
_musics = value;
MusicModel modelMusic = new MusicModel();
lstMusic.ItemsSource = modelMusic.LoadData(Musics);
}
}
public ucListMusic()
{
InitializeComponent();
}
private void lstMusic_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher();
mediaPlayerLauncher.Media = new Uri((lstMusic.SelectedItem as MusicObject).LinkVideo, UriKind.Absolute);
mediaPlayerLauncher.Controls = MediaPlaybackControls.All;
mediaPlayerLauncher.Location = MediaLocationType.None;
mediaPlayerLauncher.Show();
}
}
}
File giao diện chính
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using Streaming.Modules.ListMusic;
namespace Streaming
{
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
List<MusicObject> Musics = new List<MusicObject>();
string link = @"http://r8---sn-42u-i5od.c.youtube.com/videoplayback?upn=0rTRRBxiJwg&sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&fexp=923113%2C916625%2C902542%2C922401%2C920704%2C912806%2C925703%2C928001%2C922403%2C922405%2C929901%2C913605%2C929104%2C913546%2C913556%2C920201%2C913302%2C919009%2C914903%2C911116%2C910221%2C901451%2C902556&ms=au&expire=1355780230&itag=18&ipbits=8&gcr=vn&sver=3&ratebypass=yes&mt=1355758633&ip=118.71.126.204&mv=m&source=youtube&key=yt1&cp=U0hUSldTTl9ISkNONF9PTVJDOmh3aU1iM0N4ZHk2&id=a8a15e105974f937&newshard=yes&signature=342AA036C32734BE88712CE73E63DE04E0745D52.9611F433BA65057CC881D05E85F8AAD60A43BB38";
Musics.Add(new MusicObject(@"http://i1.ytimg.com/vi/XMekcu9THMg/mqdefault.jpg", "Nobita và thế giới \n phép thuật", link));
Musics.Add(new MusicObject(@"http://i2.ytimg.com/vi/udZxz9LxsWE/mqdefault.jpg", "Thành phố thú nhồi bông", link));
Musics.Add(new MusicObject(@"http://i2.ytimg.com/vi/UMDfGlff8co/mqdefault.jpg", "Chú khủng long lạc loài", link));
Musics.Add(new MusicObject(@"http://i2.ytimg.com/vi/AJy5gx-7AjA/mqdefault.jpg", "Miếng Dán Tùy Tâm Trạng \nCuộc chiến của các bà mẹ", link));
Musics.Add(new MusicObject(@"http://i3.ytimg.com/vi/jaFyJpuXYUM/mqdefault.jpg", "Chaien Làm Quản lý \nGương Nói Dối", link));
Musics.Add(new MusicObject(@"http://i4.ytimg.com/vi/3R_odqL5BnI/mqdefault.jpg", "Kéo cắt bóng", link));
Musics.Add(new MusicObject(@"http://i4.ytimg.com/vi/O-n-7vLL7x4/mqdefault.jpg", "Trò chơi có thưởng \nCon đường hạnh phúc", link));
Musics.Add(new MusicObject(@"http://i3.ytimg.com/vi/NMHYizDQXvg/mqdefault.jpg", "Suneo Khổng Lồ \nThế giới ngủ", link));
musicControl.Musics = Musics;
}
}
}
Vì link Youtube cập nhật lại liên tục nên fim có thể bị chết , bạn cần cập nhật link khác (.Mp4 nhé )