Wie mache ich Streaming mit .pls-Dateien in Android?

Ich möchte mit dieser URL eine .pls-Datei für meine Android-Anwendung abspielenhttp://playerservices.streamtheworld.com/pls/VIRGINRADIO_DUBAIAAC.pls Ich weiß, dass es nicht möglich ist, .pls-Dateien mit MediaPlayer direkt abzuspielen. Also habe ich diese Datei mit einem Pls-Parser analysiert und jede URL auf einen Media Player gesetzt. Aber es funktioniert nicht. Zeigt auch den Fehlererror (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());

        }
    }
}

Wie kann ich diese .pls-Datei abspielen? Ich konnte keine gute Referenz finden. Außerdem möchte ich diese Dateien wiedergeben, anhalten und zurückspulen.

Danke im Voraus

Antworten auf die Frage(1)

Ihre Antwort auf die Frage