Como fazer streaming com arquivos .pls no android?

Eu quero jogar um arquivo .pls para o meu aplicativo android usando este urlhttp://playerservices.streamtheworld.com/pls/VIRGINRADIO_DUBAIAAC.pls Eu sei que não é possível reproduzir arquivos .pls usando MediaPlayer diretamente.Assim eu analisei este arquivo usando um analisador Pls e definir cada url para um media player.Mas não vai funcionar.Também mostra o erroerror (1, -2147483648).

public class PlayListParser {

    private BufferedReader reader;

    public PlayListParser(String url) {
        try {
            URL plsFileUrl = new URL(url.trim());
            URLConnection urlConnection = plsFileUrl.openConnection();
           // InputStream input = new BufferedInputStream(urlConnection.openStream());
            InputStream iStream = urlConnection.getInputStream();
            this.reader = new BufferedReader(new InputStreamReader(iStream));
            // this.reader = new BufferedReader(new FileReader(file), 1024);
        } catch (MalformedURLException e) {
            Log.e("PlayListParser", "Got MalformedURLException  = " + e.getMessage());
        } catch (IOException e) {
            Log.e("PlayListParser", "Got  IOException = " + e.getMessage());
        }
    }

    public List<String> getUrls() {
        LinkedList<String> urls = new LinkedList<String>();
        while (true) {
            try {
                String line = reader.readLine();
                if (line == null) {
                    break;
                }
                String url = parseLine(line);
                if (url != null && !url.equals("")) {
                    urls.add(url);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return urls;
    }

    private String parseLine(String line) {
        if (line == null) {
            return null;
        }
        String trimmed = line.trim();
        if (trimmed.indexOf("http") >= 0) {
            return trimmed.substring(trimmed.indexOf("http"));
        }
        return "";
    }
}


PlayListParser playListParser = new PlayListParser(URL_PLS_STREAMING);
List<String > playList = playListParser.getUrls();
if(playList != null && ! playList.isEmpty()){
    for(String url : playList){
        MediaPlayer mediaPlayer = new MediaPlayer();
        try {
        mediaPlayer.setDataSource(playList.get(0));//"http://stream2.streamq.net:8020/");
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mediaPlayer.prepareAsync();
        mediaPlayer.setOnPreparedListener(new OnPreparedListener() {

            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.start();

            }
        });
        //mediaPlayer.prepare();
        } catch (IllegalArgumentException e) {
        Log.e("MainActivity","Got IllegalArgumentException = " + e.getMessage());

        } catch (IllegalStateException e) {
        Log.e("MainActivity","Got IllegalStateException = " + e.getMessage());

        } catch (IOException e) {
        Log.e("MainActivity","Got IOException = " + e.getMessage());

        }
    }
}

Como posso reproduzir este arquivo .pls? Eu não consegui encontrar uma boa referência sobre isso. Também quero jogar, pausar e voltar esses arquivos.

Desde já, obrigado

questionAnswers(1)

yourAnswerToTheQuestion