public async Task <string> GetVideoUri(string cid, int quality) { //http://interface.bilibili.com/playurl?platform=android&cid=5883400&quality=2&otype=json&appkey=422fd9d7289a1dd9&type=mp4 try { wc = new WebClientClass(); string results = await wc.GetResults(new Uri("http://interface.bilibili.com/playurl?platform=android&cid=" + cid + "&quality=" + quality + "&otype=json&appkey=422fd9d7289a1dd9&type=mp4")); VideoUriModel model = JsonConvert.DeserializeObject <VideoUriModel>(results); List <VideoUriModel> model1 = JsonConvert.DeserializeObject <List <VideoUriModel> >(model.durl.ToString()); return(model1[0].url); } catch (Exception) { return(null); } }
public async void GetPlayInfo(string mid, int quality) { //http://interface.bilibili.com/playurl?platform=android&cid=5883400&quality=2&otype=json&appkey=422fd9d7289a1dd9&type=mp4 try { WebClientClass wc = new WebClientClass(); string results = await wc.GetResults(new Uri("http://interface.bilibili.com/playurl?platform=android&cid=" + mid + "&quality=" + 2 + "&otype=json&appkey=422fd9d7289a1dd9&type=mp4")); VideoUriModel model = JsonConvert.DeserializeObject <VideoUriModel>(results); List <VideoUriModel> model1 = JsonConvert.DeserializeObject <List <VideoUriModel> >(model.durl.ToString()); mediaElment.Source = new Uri(model1[0].url); } catch (Exception) { MessageDialog md = new MessageDialog("视频地址获取失败!", "错误"); await md.ShowAsync(); } }
public async Task GetPlayInfo(string mid, int quality) { try { pro_Num.Text = "读取视频地址..."; WebClientClass wc = new WebClientClass(); string url = "http://interface.bilibili.com/playurl?platform=android&cid=" + mid + "&quality=" + quality + "&otype=json&appkey=422fd9d7289a1dd9&type=mp4"; url += "&sign=" + ApiHelper.GetSign(url); string results = await wc.GetResults(new Uri(url)); VideoUriModel model = JsonConvert.DeserializeObject <VideoUriModel>(results); List <VideoUriModel> model1 = JsonConvert.DeserializeObject <List <VideoUriModel> >(model.durl.ToString()); mediaElement.Source = new Uri(model1[0].url); pro_Num.Text = "开始缓冲视频..."; } catch (Exception) { MessageDialog md = new MessageDialog("视频地址获取失败!", "错误"); await md.ShowAsync(); } }
public async Task <string> GetVideoUri(string cid, int quality) { //http://interface.bilibili.com/playurl?platform=android&cid=5883400&quality=2&otype=json&appkey=422fd9d7289a1dd9&type=mp4 try { wc = new WebClientClass(); //string url = "http://interface.bilibili.com/playurl?platform=android&cid=" + cid + "&quality=" + quality + "&otype=json&appkey=422fd9d7289a1dd9&type=mp4"; string url = "http://interface.bilibili.com/playurl?_device=uwp&cid=" + cid + "&otype=json&quality=" + quality + "&appkey=" + ApiHelper._appKey + "&access_key=" + ApiHelper.access_key + "&type=mp4&mid=" + UserClass.Uid + "&_buvid=D9EFA749-6CCA-43B3-A3D2-20225D874E672072infoc&_hwid=03005a8603001c9a&platform=uwp_desktop" + "&ts=" + ApiHelper.GetTimeSpen; url += "&sign=" + ApiHelper.GetSign(url); // url += "&sign=" + ApiHelper.GetSign(url); string results = ""; VideoUriModel model = null; string area = ""; if (useHkIp) { area = "hk"; } if (userTwIp) { area = "tw"; } if (userDlIp) { area = "cn"; } if (!userDlIp && !userTwIp && !useHkIp) { results = await wc.GetResults_Phone(new Uri(url)); model = JsonConvert.DeserializeObject <VideoUriModel>(results); } else { results = await wc.GetResults(new Uri("http://52uwp.com/api/BiliBili?area=" + area + "&url=" + Uri.EscapeDataString(url))); MessageModel ms = JsonConvert.DeserializeObject <MessageModel>(results); if (ms.code == 0) { model = JsonConvert.DeserializeObject <VideoUriModel>(ms.message); } if (ms.code == -100) { await new MessageDialog("远程代理失效,请联系开发者更新!").ShowAsync(); } if (ms.code == -200) { await new MessageDialog("代理读取信息失败,请重试!").ShowAsync(); } } //-5021 if (model.code == -5021) { await new MessageDialog("不支持你所在地区!").ShowAsync(); } List <VideoUriModel> model1 = JsonConvert.DeserializeObject <List <VideoUriModel> >(model.durl.ToString()); return(model1[0].url); } catch (Exception) { return(null); } }