разделить видео на несколько частей, закодировать каждую часть в base64 в Android - PullRequest
0 голосов
/ 26 февраля 2019

В моем приложении я загружаю видео большого размера в виде строки 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);

1 Ответ

0 голосов
/ 26 февраля 2019

Вместо использования Base64 используйте multipart для загрузки файла, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...