1、
- <!-- SDCard中创建与删除文件权限 -->
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
- <!-- 向SDCard写入数据权限 -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-
如果播放网络音频:
<uses-permission android:name="android.permission.INTERNET"/>
2、获取sdcard路径,不同android机型是不一样的,我用的是sony xl39h,输出的sdcard路径:/storage/emulated/0
当然我指的是如此获取:
public String getSdcardDir(){
File sdDir =null;
boolean sdcardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
if(sdcardExist){
sdDir = Environment.getExternalStorageDirectory();
}
return sdDir.toString();
}
3、输出某目录下的所有文件:
public void showFileDir(String initDir){
File file = new File(initDir);
Log.i(TAG,"initDir:"+initDir);
File files[] =file.listFiles();
if(files!=null){
Log.i(TAG,"files length:"+files.length);
for(int i=0;i<files.length;i++){
Log.i(TAG,String.valueOf(i)+"th's Dir:"+files[i].getPath());
}
}
else Log.i(TAG,"files is null");
}
4、java.io.IOException: Prepare failed
出现这个错误时:
改变一下setDatasource的方式;
//mediaPlayer.setDataSource(videoUrl);
File file = new File(videoUrl);
if(file.exists())
System.out.println("##yes##");
else
System.out.println(videoUrl+"##no##");
FileInputStream fis = new FileInputStream(file);
mediaPlayer.setDataSource(fis.getFD());
mediaPlayer.prepare();//prepare之后自动播放