首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在安卓系统中玩.pls?

如何在安卓系统中玩.pls?
EN

Stack Overflow用户
提问于 2012-09-12 15:22:06
回答 3查看 4.4K关注 0票数 3

安卓媒体播放器:我可以从网址播放.mp3文件。在玩.pls的时候变得更性感了。

代码:

代码语言:javascript
复制
try{
String url=".pls url";
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare();
mediaPlayer.start();
}catch(Exception 
System.out.println("@@ Exception while playing: "+e);
mediaPlayer .release();
mediaPlayer = null;
}

错误:

代码语言:javascript
复制
09-12 12:44:04.026: E/MediaPlayer(704): error (1, -2147483648)
09-12 12:44:04.026: I/System.out(704): @@ Exception while playing: java.io.IOException: Prepare failed.: status=0x1
EN

回答 3

Stack Overflow用户

发布于 2012-09-12 16:10:05

如果您所说pls是指播放列表信息文件,那么mediaplayer就不能处理pls文件。

.pls文件不是媒体文件。所以你不能播放.pls文件。通常.pls是由app处理的,app从pls文件中提取信息并播放pls指向的音乐文件。

票数 1
EN

Stack Overflow用户

发布于 2016-10-20 22:42:29

代码语言:javascript
复制
String musicUlrPath;
LinkedList<String> streamingUrlList;

        streamingUrlList=new LinkedList<String>();

    ExecuteArrayList executeArrayList=new ExecuteArrayList();
                    executeArrayList.execute("blank");



class ExecuteArrayList extends AsyncTask<String, String, String>

        {

            @Override
            protected String doInBackground(String... params) {
                // TODO Auto-generated method stub
                try {

                streamingUrlList=getStreamingUrl(pathFromJson);//you are geting path during json response 

                } catch (Exception e) {
                        e.printStackTrace();

                       }
                return null;

            }


            @Override
            protected void onPostExecute(String result) {
                // TODO Auto-generated method stub


                musicUlrPath=(streamingUrlList.get(0));


            }

        }



    public LinkedList<String> getStreamingUrl(String url) {

        Log.i(LOGTAG, "get streaming url");
        final BufferedReader br;
        String murl = null;
        LinkedList<String> murls = null;
        try {
            URLConnection mUrl = new URL(url).openConnection();
            br = new BufferedReader(
                    new InputStreamReader(mUrl.getInputStream()));
            murls = new LinkedList<String>();
            while (true) {
                try {
                    String line = br.readLine();

                    if (line == null) {
                        break;
                    }
                    murl = parseLine(line);
                    if (murl != null && !murl.equals("")) {
                        murls.add(murl);

                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Log.i(LOGTAG, "url to stream :" + murl);
        return murls;
    }

    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 "";
    }

现在设置提取的路径

代码语言:javascript
复制
mediaPlayer.setDataSource(musicUlrPath);
票数 0
EN

Stack Overflow用户

发布于 2013-03-28 15:47:13

代码语言:javascript
复制
Extract pls file in notepad , It will show like this
playlist]
File1=Alternative\everclear -URL
Title1=Everclear - So Much For The Afterglow
Length1=233    
File2=Comedy\Weird Al - Everything You Know Is Wrong.mp3   
.
.   
NumberOfEntries=5    
Version=2.

Use that URL in Media player.It will work.
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12383059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档