【问题标题】:Play .pls file with XAML media element Windows Phone 8.1使用 XAML 媒体元素播放 .pls 文件 Windows Phone 8.1
【发布时间】:2014-07-24 14:15:39
【问题描述】:

我在尝试制作 Windows Phone 8.1 应用时需要一些帮助。

我正在尝试使用 XAML 媒体元素播放广播流。我已经使用以下代码在 Windows 8 Store 应用程序中运行它:

<MediaElement x:Name="media" Source="http://37.187.79.56:3078/listen.pls;" Width="300" AudioCategory="BackgroundCapableMedia" CurrentStateChanged="MusicPlayer_CurrentStateChanged" />

但对于 Windows 手机,它不起作用。至少在我的模拟器中,但我没有要测试的物理设备,但模拟器播放 Cortana 声音,所以它应该播放这个。

有人可以帮我解决吗? 提前致谢。

【问题讨论】:

    标签: c# xaml windows-phone-8.1 win-universal-app


    【解决方案1】:

    您无法在 WP8 中播放 .pls 文件,只能播放 this page 中列出的这些媒体编解码器。 要流式传输广播电台,您需要使用 Shoutcast MediaStreamSource。您可以查看样本here。希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      .pls 播放列表在 windows 媒体元素中不受支持,我们必须解析内容并获取流 url,这里我传递一个 pls url 来运行并获取所有流 url 作为列表,我们可以将媒体元素源指向任何 url 和将播放收音机

        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;
              }
          }
      

      【讨论】:

      • 你能告诉我们如何将源设置为 MediaElement 吗?谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多