Сжатие видео с использованием Silicompressor в Android не работает

Я пытаюсь сжать видео в проекте, поэтому с помощью silicompressor. но когда я передаю путь назначения, мое приложение зависает и ничего не делает. Но он создает папку в моем хранилище и сохраняет видеофайл, но при попытке воспроизвести его выдает ошибку "Не удалось воспроизвести видео". И этот файл имеет размер 24 байта. так что посмотрите и расскажите, что я сделал не так.

Вот мой код

File destinationPath = new File("/storage/emulated/0/DCIM/Camera/myvideo");
            destinationPath.mkdir();
            File file = new File(destinationPath.getAbsolutePath());
            Toast.makeText(Post.this, "folder: " + file, Toast.LENGTH_SHORT).show();

            try {
                filePath = SiliCompressor.with(Post.this).compressVideo(videouri, file.toString());
                video.setVideoURI(Uri.parse(filePath));
                Toast.makeText(Post.this, "Completed", Toast.LENGTH_SHORT).show();
            } catch (URISyntaxException e) {
                Log.d("EXCEPTION", e.toString());
                Toast.makeText(Post.this, e.getMessage(), Toast.LENGTH_SHORT).show();
                e.printStackTrace();
            }

1 ответ

Решение

Попробуйте запустить код сжатия, используя AsyncTask

Здесь вы можете найти демо-код приложения для сжатия видео.

Я попробовал этот SiliCompressor для видеокомпрессора, и это очень хорошо, и в этой версии аудио и видео работают хорошо, но не поддерживают разрешение.

https://github.com/Tourenathan-G5organisation/SiliCompressor/tree/v2.2.2

Примечание: в последней версии (2.2.3) SiliCompressor звук не работает после сжатия видео.

ИЛИ

Я сделал это и хорошо работаю https://github.com/iamkdblue/CompressVideo

Надеюсь, это вам поможет.

Другие вопросы по тегам