首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用mediaplayer类播放外部SD卡中的歌曲,但无法播放

使用mediaplayer类播放外部SD卡中的歌曲,但无法播放
EN

Stack Overflow用户
提问于 2015-07-15 20:21:15
回答 3查看 80关注 0票数 0

我已经提取了SD卡中存在的所有mp3文件并点击了一首特定的歌曲,它调用类playSong并在它的构造函数中传递歌曲的名称,通过它我试图使用MediaPlayer文件的create方法播放文件,但它对我来说根本不起作用,因为它显示空指针异常。

代码语言:javascript
复制
public class PlaySong {

    MediaPlayer mp;
    Context context;
    String  title;
    public PlaySong(Context context,String title)
    {
        this.title=title;
        this.context=context;
    }

    public void play_Song()
    {
        //Toast.makeText(context, "Yes", 0).show();
        String [] str=title.split("-");
        String name=str[0];

        //Toast.makeText(context, ""+name, 0).show();
        //mp = new MediaPlayer();
        try
        {
        mp = MediaPlayer.create(context, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/songs/"+name+".mp3"));
        //mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
        //mp.setLooping(true);
        mp.start();
        }
        catch(Exception ex) 
        {
            Toast.makeText(context, ""+ex, 0).show();

        }
    }

}
EN

回答 3

Stack Overflow用户

发布于 2015-07-15 20:31:10

NullPointer只是因为Uri.parse没有获得分配的路径。尝试打印此路径-Environment.getExternalStorageDirectory().getPath()+"/songs/"+name+".mp3“我的理解是,它应该给你的路径挂载sdcord索引,可访问的路径将是”sdcard/-Environment.getExternalStorageDirectory().getPath()+“/songs/”+name+“.mp3”/“+name+”.mp3“

票数 0
EN

Stack Overflow用户

发布于 2015-07-15 20:56:31

请查看以下内容:

新的MediaPlayer = mediaPlayer MediaPlayer();

mediaPlayer.setDataSource(this,Uri.parse(文件位置));

还要确保文件位置是正确的。

票数 0
EN

Stack Overflow用户

发布于 2015-07-30 02:01:21

我犯了一个非常小的错误,没有使用trim()函数来修剪歌曲名称中的额外空格,因为它给出了空指针异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31430264

复制
相关文章

相似问题

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