流媒体.m3u音频

ale*_*hka 7 audio streaming android

我想玩流媒体广播(.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();
        }
Run Code Online (Sandbox Code Playgroud)

这段代码不起作用.请帮忙.

Had*_*des 13

您必须先下载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;
        } 
    }
Run Code Online (Sandbox Code Playgroud)


val*_*dak 10

流媒体收音机也遇到了同样的问题.但在我的情况下,我刚从url中删除.m3u并且它有效!

尝试这样做:

mp.setDataSource("url");
Run Code Online (Sandbox Code Playgroud)

代替

mp.setDataSource("url.m3u");
Run Code Online (Sandbox Code Playgroud)