private void ButtonPrev1_Click(object sender, RoutedEventArgs e) { SelectedItem = SelectedItem.Previous; DefaultViewModel["Channel"] = SelectedItem; UpdatePlayStatus(); UpdateChannelStatus(); }
protected override void OnNavigatedTo(NavigationEventArgs e) { Model = App.Main; SelectedItem = e.Parameter as ChannelItem; DefaultViewModel.Add("Model", Model); DefaultViewModel.Add("Channel", SelectedItem); UpdatePlayStatus(); UpdateChannelStatus(); }
private static XmlDocument WideLiveTile(ChannelItem channel) { var tileTemplate = TileTemplateType.TileWide310x150SmallImageAndText04; var tileXml = TileUpdateManager.GetTemplateContent(tileTemplate); // Set notification image XmlNodeList imgNodes = tileXml.GetElementsByTagName("image"); imgNodes[0].Attributes[1].NodeValue = channel.Image; // Set notification text XmlNodeList textNodes = tileXml.GetElementsByTagName("text"); textNodes[0].InnerText = channel.Name; textNodes[1].InnerText = channel.Description; return tileXml; }
public static void SetLiveTile(ChannelItem channel) { var update = TileUpdateManager.CreateTileUpdaterForApplication(); if (channel == null) { update.Clear(); return; } var smallXml = SmallLiveTile(channel); if (smallXml != null) { var smallTile = new TileNotification(smallXml); smallTile.ExpirationTime = DateTime.Now + TimeSpan.FromMinutes(30); update.Update(smallTile); } var wideXml = WideLiveTile(channel); if (wideXml != null) { var wideTile = new TileNotification(wideXml); wideTile.ExpirationTime = DateTime.Now + TimeSpan.FromMinutes(30); update.Update(wideTile); } }
private void CreateEmptyChannels() { AllChannels = new ObservableCollection<ChannelItem>(); int i = 0; foreach (var item in ChannelsHelper.ChannelsAssets) { var chn = new ChannelItem { Key = item.Key, Image = item.Value[0], Color1 = item.Value[1], Color2 = item.Value[2], Streams = new List<string>() }; if (i > 0) { chn.Previous = AllChannels[AllChannels.Count - 1]; AllChannels[AllChannels.Count - 1].Next = chn; } AllChannels.Add(chn); i++; } // Get load the last var channelKey = ApplicationData.Current.LocalSettings.Values["LastPlayedChannel"]; if (channelKey != null) { foreach (var channel in AllChannels) { if (channel.Key.Equals(channelKey)) { NowPlayingItem = channel; break; } } } }
public void PlayChannel(ChannelItem channel) { if (channel != null && channel.Streams.Count > 0) { StreamIndex = 0; NowPlayingItem = channel; MediaPlayer.Source = new Uri(channel.Streams[0]); SystemMediaTransportControlsDisplayUpdater updater = systemMediaControls.DisplayUpdater; updater.Type = MediaPlaybackType.Music; updater.MusicProperties.AlbumArtist = channel.NowPlaying.Track; updater.MusicProperties.Title = channel.Name; updater.Thumbnail = RandomAccessStreamReference.CreateFromUri(new Uri(channel.Image)); updater.Update(); SetLiveTile(channel); } }
private async void LoadTrackHistory(ChannelItem channel) { channel.IsRefreshing = true; var data = await ChannelsHelper.DownloadJson(string.Format(ChannelsHelper.TRACK_HISTORY_URL, channel.ID)); if (data == null) { channel.IsRefreshing = false; return; } TrackItem nowPl = null; var tempTracks = new List<TrackItem>(); var index = 0; var tracks = JsonConvert.DeserializeObject(data) as JContainer; foreach (var track in tracks) { if ((string)track["type"] == "track") { var item = new TrackItem { Index = index, Track = (string)track["track"], Started = (long)track["started"], Duration = (int)track["length"] }; if (nowPl == null) nowPl = item; else tempTracks.Add(item); if (index == 5) break; index++; } } channel.TrackHistory = new ObservableCollection<TrackItem>(tempTracks); if (channel.NowPlaying != null && nowPl != null && channel.NowPlaying.Started == nowPl.Started) { // Extend with 1 minute if now playing is the same channel.NowPlaying.Duration += channel.NowPlaying.StartedTime + 10; } else { channel.NowPlaying = nowPl; } channel.IsRefreshing = false; }
private void ButtonNext_Click(object sender, RoutedEventArgs e) { SelectedItem = SelectedItem.Next; IsRightDirection = true; FadeOutLeftStory.Begin(); }
private void ButtonPrev_Click(object sender, RoutedEventArgs e) { SelectedItem = SelectedItem.Previous; IsRightDirection = false; FadeOutRightStory.Begin(); }