Trabalhando com Streaming de Audio no Windows Phone 8

Neste post mostraremos como trabalhar com streaming e como manipular os controles de audio, para isso foram criadas 2 classes, AudioPlayer.cs e BackgroundAudioPlayerHelper.cs.

Para realizar o streaming de audio Ai?? necessA?rio criar um serviAi??o que vai rodar em background, por isso precisamos editar o arquivo WmAppManifest.xml, abra o arquivo no modo visualizaAi??A?o de cA?digo (selecione o WmAppManifest.xml e tecle F7), a seAi??A?o Tasks estarA? dessa forma:

 <Tasks>
      <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>   
 </Tasks>

Adicionando o BackgroundServiceAgent ficarA? assim:

 <Tasks>
      <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>
      <ExtendedTask Name="BackgroundTask">
        <BackgroundServiceAgent Specifier="AudioPlayerAgent" Name="AudioStreamingDemo"
        Source="AudioStreamingDemo" Type="AudioStreamingDemo.LoadPlayerList" />
      </ExtendedTask>      
    </Tasks>

A classe AudioPlayer.cs Ai?? a responsA?vel pela criaAi??A?o do playlist e do serviAi??o de streaming, ela possui as seguintes propriedades publicas:

    public static bool repeat = true; // true: repetir o audio quando a playerlist chegar ao fim. false: parar de tocar quando o playlist chegar ao fim
    public static List<AudioTrack> audioTracks; // Lista de mA?sica a ser executada

Criaremos uma classe, no nosso exemplo a LoadPlayerList.cs como uma extensA?o da AudioPlayer.cs, Ai?? aqui que carregaremos a lista de audios, essa tambAi??m serA? a classe que rodarA? o serviAi??o la no BackgroundServiceAgent do WmAppManifest.xml.

    public class LoadPlayerList : AudioPlayer
    {
        public LoadPlayerList() 
        {
            AudioPlayer.audioTracks = new List<AudioTrack>
            {
                new AudioTrack(new Uri("http://justkaws.com/service/v1/files/Kansas%20-%2001%20-%20Carry%20On%20Wayward%20Son_labaulera.freebb3.com.mp3", UriKind.Absolute), "Carry On Wayward Son", "Kansas" , "Leftoverture", new Uri("http://justkaws.com/service/v1/files/kansas.jpg", UriKind.Absolute), null, EnabledPlayerControls.All),
                new AudioTrack(new Uri("http://justkaws.com/service/v1/files/Journey%20-%20Separate%20Ways%20%28Worlds%20Apart%29.mp3", UriKind.Absolute), "Separate Ways", "Journey" , "Frontiers", new Uri("http://justkaws.com/service/v1/files/Journey_Frontiers.jpg", UriKind.Absolute), null, EnabledPlayerControls.All)
            };
        }
    }

A classe BackgroundAudioPlayerHelper.cs Ai?? responsA?vel por manipular os controles de audio e atualizar a interface da app.

    public Action UpdateState;
    public BackgroundAudioPlayerHelper(Action action = null)
    public void PlayOrPause(Action play = null, Action pause = null)
    public void Stop(Action action = null)
    public void Previous(Action action = null)
    public void Next(Action action = null) //

How much weight loss on aldactone

Leave a comment

  • 0.0