MediaRetriever for artist返回null

时间:2015-07-29 18:22:47

标签: android

艺术家只能获得初始值,而不是使用元数据进行艺术创作 PLZ暗示我错了我正在做什么

 Strng artist="";
        void onCreate(){
            metaRetriver1 = new MediaMetadataRetriever();
            metaRetriver1.setDataSource("/storage/sdcard0/Tu+Jo+Hain.mp3");

            artist=metaRetriver1.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);

        }

2 个答案:

答案 0 :(得分:1)

listFiles返回null,如果文件不是目录或发生I / O错误,则应检查可能的空值。

Environment.getExternalStorageDirectory()已返回外部存储目录的路径。所以没有

 String root_sd = Environment.getExternalStorageDirectory().toString();
 file = new File( root_sd + "/external_sd" ) ;       
 File list[] = file.listFiles();

你可以简单地拥有

File list[] = Environment.getExternalStorageDirectory().listFiles();

请注意,从api级别19开始,您应该将READ_EXTERNAL_STORAGE添加到AndroidManifest.xml文件中

答案 1 :(得分:1)

在列表中添加null检查

if(list!=null){
            for (int i = 0; i < list.length; i++) {
                myList.add(list[i].getName());
            }
        }

还要检查您获取文件的目录是否存在。