private async void downPlay_Click(object sender, RoutedEventArgs e) { List <Record> recordList = RESTClient.GetRecordByID(int.Parse(MainPage.userSettings._userID)); if (playbackList.Items.Count != 0) { delPlay_Click(this, null); } foreach (Record record in recordList) { StorageFolder storageFolder = KnownFolders.VideosLibrary; StorageFile file = await storageFolder.GetFileAsync(record.videoname); var thumbnail = await file.GetScaledImageAsThumbnailAsync(ThumbnailMode.VideosView); WriteableBitmap writeableBitmap = new WriteableBitmap(100, 64); InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream(); await RandomAccessStream.CopyAsync(thumbnail, randomAccessStream); randomAccessStream.Seek(0); writeableBitmap.SetSource(randomAccessStream); MediaModel media = new MediaModel(file) { Title = file.Name, ArtUri = writeableBitmap, PlaybackPosition = TimeSpan.Parse(record.record), PlaybackHistory = DateTime.Parse(record.LastOpened) }; pVLis.Items.Add(media); playbackList.Items.Add(media.MediaPlaybackItem); } }
private void savePlay_Click(object sender, RoutedEventArgs e) { int index = 0; int cindex = 0; foreach (var o in pVLis.Items) { MediaModel mediaModel = o as MediaModel; if (mediaModel.Title == CurrentItem) { cindex = index; } index++; } MediaModel model = pVLis.Items[cindex] as MediaModel; model.PlaybackPosition = mp.PlaybackSession.Position; }
/// <summary> /// 播放列表添加 /// </summary> private async void openMedia() { // 文件对话框 FileOpenPicker openPicker = new FileOpenPicker(); openPicker.ViewMode = PickerViewMode.Thumbnail; openPicker.SuggestedStartLocation = PickerLocationId.VideosLibrary; openPicker.FileTypeFilter.Add(".mp4"); openPicker.FileTypeFilter.Add(".mkv"); openPicker.FileTypeFilter.Add(".avi"); // 文件对象 StorageFile file = await openPicker.PickSingleFileAsync(); if (file != null) { // 创建缩略图 var thumbnail = await file.GetScaledImageAsThumbnailAsync(ThumbnailMode.VideosView); WriteableBitmap writeableBitmap = new WriteableBitmap(100, 64); InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream(); await RandomAccessStream.CopyAsync(thumbnail, randomAccessStream); randomAccessStream.Seek(0); writeableBitmap.SetSource(randomAccessStream); //UserSettings.saveThubnail(writeableBitmap, file.DisplayName + ".jpg"); // 媒体对象 MediaModel media = new MediaModel(file) { canSync = true, Title = file.Name, ArtUri = writeableBitmap, PlaybackPosition = TimeSpan.Parse("00:00:00"), PlaybackHistory = DateTime.Now }; pVLis.Items.Add(media); playbackList.Items.Add(media.MediaPlaybackItem); } }