我需要一些帮助来尝试制作Windows Phone 8.1应用程序。
我试图使用XAML媒体元素播放shoutcast流。我使用以下代码在Windows 8商店应用程序中使用它:
<MediaElement x:Name="media" Source="http://37.187.79.56:3078/listen.pls;" Width="300" AudioCategory="BackgroundCapableMedia" CurrentStateChanged="MusicPlayer_CurrentStateChanged" />
但对于Windows手机来说,它不起作用。至少在我的模拟器中,但我没有物理设备可以测试,但模拟器播放Cortana声音所以它应该播放。
有人可以帮我解决问题吗? 提前谢谢。
答案 0 :(得分:2)
你不能在WP8中播放.pls文件,只能在this page中列出这些媒体编解码器。 要播放shoutcast电台,您需要使用Shoutcast MediaStreamSource。您可以查看示例here。希望它有所帮助。
答案 1 :(得分:0)
public static async Task<List<string>> GetStreamsFromPLSUrl(string url)
{
var httpClientHandler = new HttpClientHandler { UseDefaultCredentials = false, AllowAutoRedirect = true };
HttpClient httpClient = new HttpClient();
try
{
HttpResponseMessage response = await httpClient.GetAsync(url);
response.EnsureSuccessStatusCode();
TextReader tr = new StreamReader(await response.Content.ReadAsStreamAsync());
List<string> Streamurls = new List<string>();
string line;
while ((line = tr.ReadLine()) != null)
{
if (line.Substring(0, 4).Equals("File"))
Streamurls.Add(line.Substring(6));
}
return (Streamurls);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message + "/n" + ex.InnerException);
return null;
}
}