android从sdcard播放音乐

时间:2011-08-30 19:59:01

标签: java android

我需要在SD卡上播放一些音乐,我该怎么做?我知道我需要使用MediaPlayer类,但如果我正在进行这样的应对

             try {

        mpSong.setDataSource(musicposisition);

        mpSong.prepare();

        mpSong.start();

    } 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();
    }

然后我的应用程序刷新了名为musicposisition = /sdcard/musictelefon/03 Mare.mp3的varibale,当我记录它请求帮助!!

有些人可以告诉我如何扭曲代码吗???

不要真的知道这是否有帮助,但这里是我的logcat输出 https://docs.google.com/document/d/14k1lqxmdCKxsmwfDUD6za5s7W48lAHOjDfbUHzfgh-s/edit?hl=en_US

3 个答案:

答案 0 :(得分:2)

如果您要获取特定的扩展文件,也可以这样编码。您可以使用以下代码。 现在我只从SD卡中获取.mp3文件。

final String MEDIA_PATH = new String("/sdcard/");
    private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();    
    public ArrayList<HashMap<String, String>> getPlayList(){
        File home = new File(MEDIA_PATH);

        if (home.listFiles(new FileExtensionFilter()).length > 0) {
            for (File file : home.listFiles(new FileExtensionFilter())) {
                HashMap<String, String> song = new HashMap<String, String>();
                song.put("songTitle", file.getName().substring(0, (file.getName().length() - 4)));
                song.put("songPath", file.getPath());

                // Adding each song to SongList
                songsList.add(song);
            }
        }
        // return songs list array
        return songsList;
    }

    /**
     * Class to filter files which are having .mp3 extension
     * */
    class FileExtensionFilter implements FilenameFilter {
        public boolean accept(File dir, String name) {
            return (name.endsWith(".mp3") || name.endsWith(".MP3"));
        }
    }

答案 1 :(得分:1)

您的logcat输出告诉您有NullPointerException:由以下引起:java.lang.NullPointerException 08-30 22:25:38.463:ERROR / AndroidRuntime(6107):at simon.programmering.music.MusicActivity.onCreate(MusicActivity.java:73)

在第73行检查MusicActivity.java。那里有什么?

答案 2 :(得分:0)

是的,所以我在android-dev irc的帮助下发现了这个问题我想念在创建的metod中宣布mpSong为媒体播放器