1.视屏转Base64字符串
* 视屏转Base64字符串
* @param
* @return
*/
private String fileBase64String(Uri url){
try {
InputStream fis = getContentResolver().openInputStream(url);;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count = 0;
while((count = fis.read(buffer)) >= 0){
baos.write(buffer, 0, count);
}
fis.close();
return Base64.encodeToString(baos.toByteArray(),Base64.DEFAULT);
} catch (Exception e) {
Log.e(TAG, "错误--> " + e);
return null;
}
}
2.base64字符串转视屏
public static void base64ToVideo(String base64) {
try {
byte[] videoByte = Base64.decode(base64.getBytes(),Base64.DEFAULT);
File videoFile = new File(Environment.getExternalStorageDirectory()
+ "/Convert.mp4");
if (videoFile.exists()){
videoFile.delete();
}
try {
videoFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
Log.e("creatXMLFileException",e.getMessage());
}
FileOutputStream fos = new FileOutputStream(videoFile);
fos.write(videoByte, 0, videoByte.length);
fos.flush();
fos.close();
Log.d(TAG,"视屏保存的地址--" + videoFile);
} catch (IOException e) {
Log.e(TAG,"base64转换为视频异常",e);
}
}
3.记得动态获取权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>