示例#1
0
        //下载视频
        private void downloadButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                string videoId = VIDTextBox.Text.Trim();
                //int bitRate = 2;// 1,2,3  1表示标清,2表示高清,3表示超清
                int bitRate = Convert.ToInt32(comboBox.SelectedValue.ToString());
                //  下载路径
                string directPaths = "C:/Workspace/Polyv/";
                int    ret         = 0;
                Task   task        = new Task(new Action(() =>
                {
                    ret           = DownLoadVideo.downloadVideo(videoId, bitRate, directPaths);//0:成功,-1:参数错误,-2:流量超标,-3:账号过期,-4:视频信息获取失败,-5:没有对应码率,-6:网络异常;
                    string status = "";

                    switch (ret)
                    {
                    case 0: status = "下载完成"; break;

                    case -1: status = "参数错误"; break;

                    case -2: status = "流量超标"; break;

                    case -3: status = "账号过期"; break;

                    case -4: status = "视频信息获取失败"; break;

                    case -5: status = "无对应码率"; break;

                    case -6: status = "key下载失败"; break;

                    case -7: status = "MP4下载失败"; break;

                    case -8: status = "m3u8下载失败"; break;

                    case -9: status = "ts下载失败"; break;

                    case -10: status = "ts网络请求错误"; break;

                    case -11: status = "ts下载不完整"; break;
                    }
                    this.Dispatcher.Invoke(new Action(() =>
                    {
                        tipsLabel.Content = status;
                    }));
                }));
                task.Start();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.Print(ex.Message);
            }
        }