My安卓知识4--Media Player called in state 0

时间:2023-03-09 19:00:47
My安卓知识4--Media Player called in state 0

//根据被传递的歌曲名称,选择播放的歌曲
    public void playByName(String name){
        mp = new MediaPlayer();
        try{
            
            mp.setDataSource("sdcard/音乐"+name);
            mp.prepare();
            mp.start();
            
            
        } 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();
        }
    }

执行这段代码的时候总是报Media Player called in state 0,后来查了半天错发现是mp.setDataSource("sdcard/音乐"+name);这句出错了,但是解决的办法竟然就是加一个“/”,修改后是这个样子:mp.setDataSource("sdcard/音乐/"+name);虽然这么简单,但是真的解决了。