Beispiel #1
0
        public void loadLocalVideoData()
        {
            //加载正在下载视频数据
            string loadingVideos = WpStorage.ReadIsolatedStorageFile(downingVideosIso);

            if (!string.IsNullOrEmpty(loadingVideos))
            {
                DowningVideo = JsonConvert.DeserializeObject <ObservableCollection <DownVideoInfoViewMoel> >(loadingVideos);
                foreach (DownVideoInfoViewMoel video in DowningVideo)
                {
                    DowningVideoids.Add(video.VideoId);
                }
            }
            else
            {
                DowningVideo = null;
            }
            //加载完成下载视频数据
            string loadedVideos = WpStorage.ReadIsolatedStorageFile(downedVideosIso);

            if (!string.IsNullOrEmpty(loadedVideos))
            {
                DownedVideo = JsonConvert.DeserializeObject <ObservableCollection <DownVideoInfoViewMoel> >(loadedVideos);
                foreach (DownVideoInfoViewMoel video in DownedVideo)
                {
                    DownedVideoids.Add(video.VideoId);
                }
            }
            else
            {
                DownedVideo = null;
            }
        }
Beispiel #2
0
        //private string rememberVideoSavePath { get { return "RememberVideos\\"; } }
        public void loadRememberVideoData()
        {
            //加载最近观看视频数据
            string lastVideos = WpStorage.ReadIsolatedStorageFile(lastVideosRememberIso);

            if (!string.IsNullOrEmpty(lastVideos))
            {
                LastVideoRemember = JsonConvert.DeserializeObject <ObservableCollection <DownVideoInfoViewMoel> >(lastVideos);
            }
            else
            {
                LastVideoRemember = null;
            }
            //加载所有视频记录
            string allVideos = WpStorage.ReadIsolatedStorageFile(VideosRememberIso);

            if (!string.IsNullOrEmpty(allVideos))
            {
                RememberVideos = JsonConvert.DeserializeObject <ObservableCollection <DownVideoInfoViewMoel> >(allVideos);
            }
            else
            {
                RememberVideos = null;
            }
        }
Beispiel #3
0
        public void LoadChannels()
        {
            string strFileContent = string.Empty;

            if (!CommonData.ChannelLoaded)
            {
                if (WpStorage.isoFile.FileExists(CommonData.ChannelStorage))
                {
                    strFileContent = WpStorage.ReadIsolatedStorageFile(CommonData.ChannelStorage);
                }
                else
                {
                    using (Stream stream = Application.GetResourceStream(new Uri("channels.txt", UriKind.Relative)).Stream)
                    {
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            strFileContent = reader.ReadToEnd();
                        }
                    }
                }

                AllChannelsData channels = JsonConvert.DeserializeObject <AllChannelsData>(strFileContent);
                CommonData.LockedChannel = channels.lockedChannel;
                CommonData.NormalChannel = channels.normalChannel;
            }
            this.AllChannels.AddRange(CommonData.LockedChannel);
            this.AllChannels.AddRange(CommonData.NormalChannel);
        }
Beispiel #4
0
        private void checkVersion()
        {
            bool isNeedClean = false;

            if (WpStorage.GetIsoSetting("Version") != null)
            {
                string version = WpStorage.GetIsoSetting("Version").ToString();
                if (version != DeviceUtil.GetAppVersion())
                {
                    isNeedClean = true;
                    WpStorage.SetIsoSetting("Version", DeviceUtil.GetAppVersion());
                }
            }
            else
            {
                if (IsolatedStorageSettings.ApplicationSettings.Count > 0 || WpStorage.isoFile.DirectoryExists(CommonData.IsoRootPath))
                {
                    isNeedClean = true;
                }
                WpStorage.SetIsoSetting("Version", DeviceUtil.GetAppVersion());
            }
            if (isNeedClean)
            {
                if (MessageBox.Show("检测到版本更新,为避免数据冲突建议清除本地缓存,是否清除缓存?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {
                    WpStorage.DeleteDirectory(CommonData.IsoRootPath);
                    IsolatedStorageSettings.ApplicationSettings.Clear();
                    WpStorage.SetIsoSetting("Version", DeviceUtil.GetAppVersion());
                }
            }
            App.BeginApp();
        }
Beispiel #5
0
        public void BeginDownVideos()
        {
            //PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
            if (CommonData.NetworkStatus != "WiFi" || isDownding || DowningVideo.Count == 0)
            {
                return;
            }
            isDownding       = true;
            currentDownVideo = DowningVideo[0];
            System.Diagnostics.Debug.WriteLine("视频地址:" + currentDownVideo.DownUrl);
            HttpHelper.httpGet(currentDownVideo.DownUrl, (ar) =>
            {
                string result = HttpHelper.SyncResultTostring(ar);
                if (result != null)
                {
                    ResourceInfo videosResult = null;
                    try
                    {
                        videosResult = JsonConvert.DeserializeObject <ResourceInfo>(result);
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine("LoadChannelCompleted   json 解析错误" + ex.Message);
                        App.JsonError(result);
                    }
                    if (videosResult != null && videosResult.status == "ok" && videosResult.info != null)
                    {
                        CallbackManager.currentPage.Dispatcher.BeginInvoke(() =>
                        {
                            currentDownVideo.IsLoading   = true;
                            currentDownVideo.IsLoadError = false;
                            HttpHelper.httpGet(currentDownVideo.Image, (imageAr) =>
                            {
                                byte[] imgdata = HttpHelper.SyncResultToByte(imageAr);
                                if (imgdata != null)
                                {
                                    string imageType = currentDownVideo.Image.Remove(0, currentDownVideo.Image.Length - 4);
                                    WpStorage.SaveFilesToIsoStore(CommonData.videoSavePath + currentDownVideo.VideoId.ToString() + imageType, imgdata);
                                    currentDownVideo.LocalImage = CommonData.videoSavePath + currentDownVideo.VideoId.ToString() + imageType;
                                }
                            });

                            DownloadFile(videosResult.info);
                        });
                    }
                }
                else
                {
                    //todo
                }
            });
        }
Beispiel #6
0
        public void AddRememberVideo(VideoInfo videoInfo)
        {
            DownVideoInfoViewMoel video = new DownVideoInfoViewMoel();

            video.Name    = videoInfo.name;
            video.Image   = videoInfo.image;
            video.VideoId = videoInfo.videoId;
            HttpHelper.httpGet(video.Image, (imageAr) =>
            {
                byte[] imgdata = HttpHelper.SyncResultToByte(imageAr);
                if (imgdata != null)
                {
                    string imageType = video.Image.Remove(0, video.Image.Length - 4);
                    WpStorage.SaveFilesToIsoStore(CommonData.rememberVideoSavePath + video.VideoId.ToString() + imageType, imgdata);
                    video.LocalImage = CommonData.rememberVideoSavePath + video.VideoId.ToString() + imageType;
                }
                CallbackManager.currentPage.Dispatcher.BeginInvoke(() =>
                {
                    //检查记录是否相同 相同则删除相同项
                    for (int i = 0; i < RememberVideos.Count; i++)
                    {
                        if (RememberVideos[i].VideoId == video.VideoId)
                        {
                            RememberVideos.RemoveAt(i);
                            break;
                        }
                    }
                    if (RememberVideos.Count > 20)
                    {
                        RememberVideos.RemoveAt(0);
                    }
                    RememberVideos.Add(video);
                    //检查最近记录是否相同 相同则删除相同项
                    for (int i = 0; i < LastVideoRemember.Count; i++)
                    {
                        if (LastVideoRemember[i].VideoId == video.VideoId)
                        {
                            LastVideoRemember.RemoveAt(i);
                            break;
                        }
                    }
                    if (LastVideoRemember.Count > 1)
                    {
                        LastVideoRemember.RemoveAt(0);
                    }
                    LastVideoRemember.Add(video);
                    SaveRememberVideoData();
                });
            });
        }
Beispiel #7
0
        private void DeleteAllIcon_Click(object sender, EventArgs e)
        {
            if (pvoitIndex == 0)
            {
                if (MessageBox.Show("确定要删除所有正在缓存的剧集吗?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {
                    App.DownVideoModel.StopGetVideoData();
                    foreach (DownVideoInfoViewMoel Video in App.DownVideoModel.DowningVideo)
                    {
                        if (Video.LocalImage != null)
                        {
                            if (WpStorage.isoFile.FileExists(Video.LocalImage))
                            {
                                WpStorage.isoFile.DeleteFile(Video.LocalImage);
                            }
                        }
                        if (WpStorage.isoFile.FileExists(CommonData.videoSavePath + Video.VideoId.ToString() + ".mp4"))
                        {
                            WpStorage.isoFile.DeleteFile(CommonData.videoSavePath + Video.VideoId.ToString() + ".mp4");
                        }
                    }
                    App.DownVideoModel.DowningVideo    = null;
                    App.DownVideoModel.DowningVideoids = null;
                    App.DownVideoModel.SaveVideoData();
                    LoadEditIcon();
                }
            }
            else if (pvoitIndex == 1)
            {
                if (MessageBox.Show("确定要删除所有已经缓存的剧集吗?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {
                    App.DownVideoModel.DownedVideo    = null;
                    App.DownVideoModel.DownedVideoids = null;
                    WpStorage.DeleteDirectory(CommonData.videoSavePath);
                    App.DownVideoModel.SaveVideoData();
                    LoadEditIcon();
#if DEBUG
                    long memory      = DeviceStatus.ApplicationCurrentMemoryUsage / (1024 * 1024);
                    long memoryLimit = DeviceStatus.ApplicationMemoryUsageLimit / (1024 * 1024);
                    long memoryMax   = DeviceStatus.ApplicationPeakMemoryUsage / (1024 * 1024);
                    System.Diagnostics.Debug.WriteLine("当前内存使用情况:" + memory.ToString() + " MB 当前最大内存使用情况: " + memoryMax.ToString() + "MB  当前可分配最大内存: " + memoryLimit.ToString() + "  MB");
#endif
                }
            }
        }
Beispiel #8
0
        public void SaveRememberVideoData()
        {
            string lastVideoidData = null;

            if (LastVideoRemember != null && LastVideoRemember.Count > 0)
            {
                //把hashset表反序列化为字符串 存入独立存储
                lastVideoidData = JsonConvert.SerializeObject(LastVideoRemember);
            }
            WpStorage.SaveStringToIsoStore(lastVideosRememberIso, lastVideoidData);
            string allReVideoidData = null;

            if (RememberVideos != null && RememberVideos.Count > 0)
            {
                //把hashset表反序列化为字符串 存入独立存储
                allReVideoidData = JsonConvert.SerializeObject(RememberVideos);
            }
            WpStorage.SaveStringToIsoStore(VideosRememberIso, allReVideoidData);
            App.DownVideoModel.UpdateIsoSize();
        }
Beispiel #9
0
        public void SaveVideoData()
        {
            string downingVideosData = null;

            if (DowningVideo != null &&  DowningVideo.Count > 0)
            {
                //把正在下载的列表反序列化为字符串 存入独立存储
                downingVideosData = JsonConvert.SerializeObject(DowningVideo);
            }
            WpStorage.SaveStringToIsoStore(downingVideosIso, downingVideosData);

            string downedVideosData = null;

            if (DownedVideo != null && DownedVideo.Count > 0)
            {
                //把已经下载的列表反序列化为字符串 存入独立存储
                downedVideosData = JsonConvert.SerializeObject(DownedVideo);
            }
            WpStorage.SaveStringToIsoStore(downedVideosIso, downedVideosData);
            UpdateIsoSize();
        }