首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从URL流式传输和下载音频

从URL流式传输和下载音频
EN

Stack Overflow用户
提问于 2013-09-21 14:04:46
回答 1查看 1.9K关注 0票数 0

我正在开发的应用程序,搜索歌曲,并能够播放和下载音乐/歌曲。我使用这个网址http://tinysong.com/Phdj,这是重定向到音乐网页,并在那里播放歌曲。我使用下面的代码来播放歌曲。

代码语言:javascript
复制
    //play music
    MediaPlayer mMediaPlayer = new MediaPlayer();
    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try{
         mMediaPlayer.setDataSource("http://tinysong.com/Phdj");
            mMediaPlayer.prepareAsync();
                }catch(IOException e){
        e.printStackTrace();
        }
        catch (IllegalArgumentException e){
                e.printStackTrace();    
                }catch (IllegalStateException e){
                e.printStackTrace();
            mMediaPlayer.setOnPreparedListener(new   MediaPlayer.OnPreparedListener() 
                            {

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

错误: 09-21 11:26:49.674: I/MediaPlayer(6735):setLPAflag() in 09-21 11:26:49.674: I/MediaPlayer(6735):mContext为空,无法getMirrorDisplayStatus!!09-21 11:26:49.674: I/MediaPlayer(6735):setLPAflag() out 09-21 11:26:58.693: E/MediaPlayer(6735):error (1,-2147483648) 09-21 11:26:58.693: E/MediaPlayer(6735):Error (1,-2147483648)

AndroidMedia库是否仅播放.mp3格式?我能从上面的Url播放音乐吗?我该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2013-09-21 17:46:55

您尚未传递setDataSource()中的上下文

尝尝这个

代码语言:javascript
复制
String path="http://tinysong.com/Phdj";

    Uri myUri = Uri.parse(path);

            MediaPlayer mp = new MediaPlayer();
            try {

                mp.setDataSource(this, myUri);
                mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
                mp.setOnPreparedListener(new OnPreparedListener() {

                    @Override
                    public void onPrepared(MediaPlayer mp) {

                        mp.start();
                        // TODO Auto-generated method stub

                    }
                });
                mp.prepareAsync();
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SecurityException 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();
            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18929511

复制
相关文章

相似问题

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