簡體   English   中英

android從sdcard播放音樂

[英]android playing music from the sdcard

我需要在sdcard上播放一些音樂,該怎么辦? 我知道我需要使用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當我將其記錄musicposisition = /sdcard/musictelefon/03 Mare.mp3時,請幫忙!!

有人可以告訴我如何修改代碼嗎???

真的不知道這是否對某些人有幫助,但這是我的logcat輸出https://docs.google.com/document/d/14k1lqxmdCKxsmwfDUD6za5s7W48lAHOjDfbUHzfgh-s/edit?hl=zh_CN

如果您要提取特定的擴展名文件,也可以這樣編寫代碼。可以使用以下代碼。 現在,我只從sdcard提取.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"));
        }
    }

您的logcat輸出告訴您您有一個NullPointerException:原因:java.lang.NullPointerException 08-30 22:25:38.463:ERROR / AndroidRuntime(6107):位於simon.programmering.music.MusicActivity.onCreate(MusicActivity.java: 73)

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

是的,所以我在android-dev irc的幫助下發現了問題,我想將mpSong聲明為on create metod中的媒體播放器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM