intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình Windows Phone (Module 4): Bài 6 - Trần Duy Thanh

Chia sẻ: Kiếp Này Bình Yên | Ngày: | Loại File: PPTX | Số trang:19

65
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong bài giảng Lập trình Windows Phone (Module 4) bài 6 này, chúng ta sẽ cùng tìm hiểu về MediaLibrary API. Trong bài giảng sẽ trình bày các nội dung cụ thể như sau: Giới thiệu MediaLibrary API, contructors, properties, methods, đọc thông tin từ SD Card. Mời các bạn tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình Windows Phone (Module 4): Bài 6 - Trần Duy Thanh

  1. Trường ĐH Khoa Học Tự Nhiên TP.HCM TRUNG TÂM TIN HỌC Lập trình Windows Phone Module 4 – Bài 6: MediaLibrary  API GV Biên soạn: Trần Duy Thanh 2014
  2. Nội dung • Giới thiệu MediaLibrary API • Contructors • Properties • Methods • Đọc thông tin từ SD Card MediaLibrary API 2
  3. 1. Giới thiệu MediaLibrary API MediaLibrary cung cấp hàng loạt các Properties để trả về tập các Media chẳng hạn như: Albums, Artists, Genres, Pictures, Playlists, và Songs. Một một Properties trả về một tập các object có thể theo dạng enumerated và indexed. Đồng thời nó cũng cung cấp phương thức lưu trữ Media vào thiết bị. Bởi vì MediaLibrary được implement từ interface IDisposable nên khi sử dụng thư viện này ta nên để trong using block. MediaLibrary API 3
  4. 2. Contructors Constructor Mô tả MediaLibrary () Khởi  tạo  đối  tượng  MediaLibrary MediaLibrary (MediaSource) Khởi  tạo  đối  tượng  MediaLibrary,  sử  dụng  MediaSource  để  tạo  mới  MediaLibrary MediaLibrary API 4
  5. 2. Contructors ICollection mediaSources =MediaSource.GetAvailableMediaSources(); foreach (MediaSource source in mediaSources) { MediaLibrary ml = new MediaLibrary(source); //ml.Albums.Count } MediaLibrary API 5
  6. 3. Properties Ø Albums:Lấy về AlbumCollection, collection này chứa toàn bộ Albums trong media Library. using (MediaLibrary library = new MediaLibrary()) { AlbumCollection albums= library.Albums; foreach (Album album in albums) { album.Name; album.Songs; album.Artist; } } MediaLibrary API 6
  7. 3. Properties Ø Artists: Lấy về ArtistCollection, collection này chứa toàn bộ artists trong media Library using (MediaLibrary library = new MediaLibrary()) { ArtistCollection artists= library.Artists; foreach (Artist artist in artists) { artist.Name; artist.Albums; artist.Songs; } } MediaLibrary API 7
  8. 3. Properties Ø Genres:  Lấy  về  GenreCollection,  collection  này  chứa  toàn bộ genres (thể loại) trong media Library using (MediaLibrary library = new MediaLibrary())             {                 GenreCollection genressed= library.Genres;                 foreach (Genre genres in genressed)                 {                     genres.Name;                     genres.Albums;                     genres.Songs;                 }             }       MediaLibrary API 8
  9. 3. Properties Ø MediaSource: Lấy về MediaSource mà được gán vào cho MediaLibrary khi ta khởi tạo Contructor có đối số là MediaSource ICollection mediaSources = MediaSource.GetAvailableMediaSources(); foreach (MediaSource source in mediaSources) { MediaLibrary ml = new MediaLibrary(source); MediaSource source_assign = ml.MediaSource; source_assign.Name; source_assign.MediaSourceType; } MediaLibrary API 9
  10. 3. Properties Ø Pictures:  Lấy  về  PictureCollection,  collection  này  chứa  toàn bộ Picture trong media Library using (MediaLibrary library = new MediaLibrary())    {          PictureCollection pictures = library.Pictures;           foreach (Picture picture in pictures)                 {                     picture.Name;                     picture.Album;                     picture.GetImage;                 }     }      MediaLibrary API 10
  11. 3. Properties Ø Playlists:Lấy về PlaylistCollection, collection này chứa toàn bộ playlists trong media Library using (MediaLibrary library = new MediaLibrary()) { PlaylistCollection playlists = library.Playlists; foreach (Playlist playlist in playlists) { playlist.Name; playlist.Songs; playlist.Duration; } } MediaLibrary API 11
  12. 3. Properties Ø RootPictureAlbum:Lấy về root PictureAlbum, nó chứa toàn bộ picture trong media Library using (MediaLibrary library = new MediaLibrary()) { PictureAlbum picAlbum= library.RootPictureAlbum; picAlbum.Name; picAlbum.Pictures; picAlbum.Albums; } MediaLibrary API 12
  13. 3. Properties Ø SavedPictures: Trả về tập tất cả các Pictures được lưu trữ trong media Library using (MediaLibrary library = new MediaLibrary()) { PictureCollection pictures= library.SavedPictures; foreach (Picture picture in pictures) { picture.Name; picture.Album; picture.GetImage; } } MediaLibrary API 13
  14. 3. Properties Ø Songs: Lấy về SongCollection, collection này chứa toàn bộ Songs trong media Library SongCollection songs = null; private void btnLoadSong_Click (object sender, RoutedEventArgs e) { MediaLibrary library = new MediaLibrary(); songs = library.Songs; foreach (Song song in songs) { mylistbox.Items.Add(song.Name); } } MediaLibrary API 14
  15. 4. Methods Ø GetPictureFromToken:Dùng để truy vấn ra 1 Picture từ thiết bị thông qua một picture token. using (MediaLibrary library = new MediaLibrary()) { Picture pic = library.GetPictureFromToken("Token Here"); } MediaLibrary API 15
  16. 4. Methods Ø SavePicture:Hàm dùng để lưu trữ hình ảnh vào thư viện media của thiết bị, chú ý cần thiết lập ID_CAP_MEDIALIB_PHOTO. using (var mediaLibrary = new MediaLibrary()) mediaLibrary.SavePicture (grayscaleFilename, targetJpegStream);  MediaLibrary API 16
  17. 4. Methods Ø SavePictureToCameraRoll: Hàm dùng để lưu trữ hình ảnh vào CameraRoll của thiết bị, chú ý cần thiết lập ID_CAP_MEDIALIB_PHOTO . private void photoCamera_CaptureImageAvailable(object sender, ContentReadyEventArgs e) { string filename = "thirds" + DateTime.Now.Ticks.ToString() + ".jpeg"; using (MediaLibrary mediaLibrary = new MediaLibrary()) { mediaLibrary.SavePictureToCameraRoll (filename, e.ImageStream); } } MediaLibrary API 17
  18. 5. Đọc thông tin từ SD Card Để đọc dữ liệu từ SD Card: Ta cần thêm ID_CAP_REMOVABLE_STORAGE. private async void btnSDCard_Click(object sender, RoutedEventArgs e) { ExternalStorageDevice sdCard = (await ExternalStorage. GetExternalStorageDevicesAsync()).FirstOrDefault(); if (sdCard != null) { IEnumerable files = await sdCard.RootFolder.GetFilesAsync(); ExternalStorageFile SelectedFile = files.Where(f => f.Name.EndsWith(".txt")).FirstOrDefault(); System.IO.Stream fileStream = await SelectedFile.OpenForReadAsync(); using (StreamReader streamReader = new StreamReader(fileStream)){ txtContent.Text = streamReader.ReadToEnd(); } fileStream.Close(); } else { MessageBox.Show("An SD card was not detected"); } } MediaLibrary API 18
  19. Thảo luận MediaLibrary API 19
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
6=>0