В моем приложении я загружаю видео большого размера в виде строки base64, и это вызывает ошибку вне памяти.Есть одно решение, чтобы предотвратить это - разделить видео на несколько частей, закодировать каждую часть в base64, но я не знаю, как это сделать, поскольку у меня нет большого опыта в разработке приложений для Android?
InputStream inputStream = null;
// Converting the video in to the bytes
try {
inputStream = getContentResolver().openInputStream(Uri.parse(String.valueOf(selectedMediaUri)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
int len = 0;
try {
assert inputStream != null;
while ((len = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
String videoData = Base64.encodeToString(byteBuffer.toByteArray(), Base64.DEFAULT);