0
我正在製作適用於Windows 8.1的在線廣播應用程序,並且想要使用新的Windows.Web.Http API
與shoutcast
服務器進行通信(爲了發送自定義HTTP頭部以從實況媒體流獲取元數據)。如何檢索實時媒體流的HttpResponseMessage內容標題(在使用c#的Windows應用商店應用程序中)
響應頭是空的,我需要在開始讀取流數據之前先讀取內容頭。
這是我嘗試使用代碼:
Uri uri = new Uri(Url);
var baseFilter = new HttpBaseProtocolFilter();
ShoutcastHttpFilter filter = new ShoutcastHttpFilter(baseFilter);
var HClient = new HttpClient(filter);
HttpResponseMessage response = await HClient.GetAsync(uri, HttpCompletionOption.ResponseHeadersRead);
Task streaming = null;
Stream stream = null;
stream = response.Content.ReadAsInputStreamAsync().GetResults().AsStreamForRead();
string str = response.Content.Headers["Icy-MetaInt"];
當我運行/調試代碼,內容顯示爲「無緩衝」,並沒有頭。 如何獲取內容標題和流?
這我ShoutcastHttpFilter使用的代碼:
request.Headers.Clear();
request.Headers.Add("Icy-MetaData", "1");
request.Headers["User-Agent"] = "VLC media player";
request.Headers["Connection"] = "Close";
HttpResponseMessage response = await innerFilter.SendRequestAsync(request).AsTask(cancellationToken, progress);
cancellationToken.ThrowIfCancellationRequested();
return response;
我已經嘗試過的響應頭第一,它是空的。 「在mscorlib.dll中發生類型'System.Collections.Generic.KeyNotFoundException'的異常,但未在用戶代碼中處理」 – Abdelrahman0101
您可以捕獲[NetMon](http://www.microsoft.com/en-us/download /details.aspx?id=4865)或[Fiddler](http://www.telerik.com/fiddler)跟蹤? – kiewic
以及分享'ShoutcastHttpFilter'源代碼? – kiewic