потоковое аудио .m3u - PullRequest
       19

потоковое аудио .m3u

7 голосов
/ 14 июля 2011

Я хочу проигрывать потоковое радио (формат .m3u), но я не знаю, как это сделать.

Этот пример, как я пытаюсь играть:

final MediaPlayer mp = new MediaPlayer();
        try {
            mp.setDataSource("url.m3u");
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            mp.prepare();
            mp.start();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

этот код не работает. помогите пожалуйста.

Ответы [ 2 ]

13 голосов
/ 14 июля 2011

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

Используйте что-то вроде этого,

public ArrayList<String> readURLs(String url) {             
        if(url == null) return null;
        ArrayList<String> allURls = new ArrayList<String>();
        try {

            URL urls = new URL(url);
            BufferedReader in = new BufferedReader(new InputStreamReader(urls
                    .openStream()));
            String str;
            while ((str = in.readLine()) != null) {
                allURls.add(str);
            }
            in.close();
            return allURls ;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } 
    }
9 голосов
/ 21 марта 2014

У меня была такая же проблема с потоковым радио. Но в моем случае я только что удалил .m3u из URL, и это сработало!

Попробуйте сделать это:

mp.setDataSource("url");

вместо

mp.setDataSource("url.m3u");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...