Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android从SD卡播放音乐_Java_Android - Fatal编程技术网

Java android从SD卡播放音乐

Java android从SD卡播放音乐,java,android,Java,Android,我需要播放SD卡上某个位置的音乐我怎么能做到?我知道我需要使用MediaPlayer类,但是如果我像这样旅行 try { mpSong.setDataSource(musicposisition); mpSong.prepare(); mpSong.start(); } catch (IllegalArgumentException e) { // TODO Auto-generated c

我需要播放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();
    }
然后,我的应用程序在我登录时会弹出一个名为
musicposition=/sdcard/musictelefon/03 Mare.mp3
的变量,请帮助

有人能告诉我怎样才能把代码也扭曲进去吗

我不知道这是否有帮助,但这是我的logcat输出

您的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。上面有什么?

您的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开发irc的帮助下发现了问题,我错过了在on create metod中将mpSong声明为媒体播放器的机会,所以我在android开发irc的帮助下发现了问题,我错过了在on create metod中将mpSong声明为媒体播放器的机会正在获取特定的扩展名文件。您可以使用以下代码。 现在我只从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"));
        }
    }
final String MEDIA\u PATH=new String(“/sdcard/”);
private ArrayList songsList=new ArrayList();
公共阵列列表getPlayList(){
文件主目录=新文件(媒体路径);
if(home.listFiles(新文件扩展筛选器()).length>0){
对于(文件:home.listFiles(新的FileExtensionFilter())){
HashMap宋=新HashMap();
song.put(“songTitle”,file.getName().substring(0,(file.getName().length()-4));
put(“songPath”,file.getPath());
//将每首歌曲添加到歌曲列表
歌曲列表。添加(歌曲);
}
}
//返回歌曲列表数组
返回歌曲列表;
}
/**
*类来筛选扩展名为.mp3的文件
* */
类FileExtensionFilter实现FilenameFilter{
公共布尔接受(文件目录,字符串名称){
return(name.endsWith(“.mp3”)| name.endsWith(“.mp3”);
}
}

如果要获取特定的扩展名文件,也可以这样编码。您可以使用以下代码。 现在我只从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"));
        }
    }
final String MEDIA\u PATH=new String(“/sdcard/”);
private ArrayList songsList=new ArrayList();
公共阵列列表getPlayList(){
文件主目录=新文件(媒体路径);
if(home.listFiles(新文件扩展筛选器()).length>0){
对于(文件:home.listFiles(新的FileExtensionFilter())){
HashMap宋=新HashMap();
song.put(“songTitle”,file.getName().substring(0,(file.getName().length()-4));
put(“songPath”,file.getPath());
//将每首歌曲添加到歌曲列表
歌曲列表。添加(歌曲);
}
}
//返回歌曲列表数组
返回歌曲列表;
}
/**
*类来筛选扩展名为.mp3的文件
* */
类FileExtensionFilter实现FilenameFilter{
公共布尔接受(文件目录,字符串名称){
return(name.endsWith(“.mp3”)| name.endsWith(“.mp3”);
}
}

mpSong.setDataSource(MusicPosition);正在传送到setdatasourcempSong.setDataSource(MusicPosition);我正在前往setdatasourceya发现我的问题我需要在类中将mpsong声明为mediaplayer在类中发现我的问题我需要在类中将mpsong声明为mediaplayer