Воспроизведение файла .pls с мультимедийным элементом XAML Windows Phone 8.1

Мне нужна помощь в создании приложения для Windows Phone 8.1.

Я пытаюсь воспроизвести поток крика, используя медиа-элемент XAML. у меня он работает в приложении Магазина Windows 8 со следующим кодом:

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

но для телефона Windows это не работает. по крайней мере, в моем эмуляторе, но у меня нет физического устройства для тестирования, но эмулятор воспроизводит звуки Кортаны, поэтому он должен воспроизводить это.

Может ли кто-нибудь помочь мне получить решение? Заранее спасибо.


person djkevino    schedule 24.07.2014    source источник


Ответы (2)


Вы не можете воспроизводить файлы .pls в WP8, только эти медиакодеки, перечисленные в этой страницы. Для потоковой передачи радио Shoutcast вам потребуется использовать Shoutcast MediaStreamSource. Вы можете посмотреть образец здесь. Надеюсь, поможет.

person Leandro Muto    schedule 13.08.2014

Список воспроизведения .pls не поддерживается в элементе Windows Media, мы должны проанализировать содержимое и получить URL-адреса потока, здесь я передаю URL-адрес pls для функции и получаю все 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;
        }
    }
person suvish valsan    schedule 02.02.2015
comment
Можете ли вы показать нам, как установить источник MediaElement? Благодарность! - person ; 28.05.2015