我正在編碼一個Windows Phone 7.1應用程序,並且當用戶點擊一個特定的按鈕時,將使用MediaPlayerLauncher播放YouTube視頻。試圖播放使用MediaPlayerLauncher的YouTube視頻
問題是,MediaPlayerLauncher無法播放視頻,只需給視頻的網址;視頻的鏈接本身就在頁面的html中。現在,我設法通過使用Web客戶端()下載HTML,並從中提取的視頻的鏈接,退出該HTML,通過將本次活動的「客戶」,我的Web客戶端:
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
pageHtml = e.Result;
stringBuilder = new StringBuilder(pageHtml);
if (pageHtml != null)
{
if (pageHtml.Contains("<html"))
{
if (pageHtml.Contains("<script"))
{
stringBuilder.Replace("</script>", string.Format("{0}{1}</script>", NOTIFY_SCRIPT, Environment.NewLine));
}
else if (pageHtml.Contains("<head"))
{
stringBuilder.Replace("</head>", string.Format("{0}{1}</head>", NOTIFY_SCRIPT, Environment.NewLine));
}
else
{
stringBuilder.Replace("</html>", string.Format("{0}{1}</html>", NOTIFY_SCRIPT, Environment.NewLine));
}
}
else
{
//Just skip it or display an error message or whatever
}
rssBrowser.NavigateToString(stringBuilder.ToString());
}
}
基本上,我想補充一個腳本,'NOTIFY_SCRIPT',它檢測YouTube視頻的存在(如果你想了解更多細節,視頻的鏈接基本上在一個標籤中,所以我只需要獲取所有的標籤,找到鏈接的鏈接,並獲得它的內容(鏈接))。
但是,這仍然不起作用。我試着搭建一個WebBrowser,並在每次WebBrowser瀏覽時觸發並觸發事件,以確保它正在導航到正確的頁面。但有時候,它不能正確導航;它會卡在中間頁面或轉到原始的YouTube頁面。所以,我決定看看傳入的html。出於某種原因,傳入的html缺少youtube的腳本。我使用瀏覽器檢查了YouTube頁面上的腳本(我進入了移動網頁並檢查了該元素),並且在那裏有一個腳本,但是當WebClient獲取HTML腳本丟失時。
所以也許這就是問題所在?有誰知道如何解決這個問題,或者你已經以不同的方式做了這樣的事情?
對不起,很長的問題,謝謝!
使用WebBrowserTask或使用API獲取URL可能會更好:http://stackoverflow.com/questions/4869564/possible-to-play-youtube-video-in-a-wp7-應用程序 – keyboardP 2012-01-27 18:44:43
這是一個好主意,併爲我節省了很多工作,謝謝! – 2012-01-27 19:43:06
不客氣:) – keyboardP 2012-01-27 20:24:38