Библиотека сжатия видео в Java android? - PullRequest
0 голосов
/ 20 апреля 2020

Я использую библиотеку Silicompressor для сжатия видео. Мой размер видео составляет 15 МБ, а размер сжатого видео приближается к 500 КБ, поскольку сжатый размер очень и очень мал, и при нажатии на кнопку воспроизведения сжатого видео отображается ошибка «Не удалось воспроизвести видео».

Как получить сжатый размер в МБ?

Вот мой код после сжатия

File imageFile = new File(compressedFilePath);
        float length = imageFile.length() / 1024f; // Size in KB
        System.out.println("length = " + length);
        String value;
        if (length >= 1024)
            value = length / 1024f + " MB";
        else
            value = length + " KB";

Любая другая альтернативная библиотека, которая хорошо работает для сжатия видео?

1 Ответ

0 голосов
/ 20 апреля 2020

Можете ли вы go с SiliCompressor . Это хорошая и простая библиотека, которая дает хороший результат. Я использовал это.

Попробуйте реализовать это. Если вы получите какую-либо ошибку, дайте мне знать.

https://github.com/Tourenathan-G5organisation/SiliCompressor

Редактировать:

Таким образом, вы можете вызвать асинхронную задачу c.

class VideoCompressAsyncTask extends AsyncTask<String, String, String> {

Context mContext;

public VideoCompressAsyncTask(Context context) {
    mContext = context;
}

@Override
protected void onPreExecute() {
    super.onPreExecute();
}

@Override
protected String doInBackground(String... paths) {
    String filePath = null;
    try {
        filePath = SiliCompressor.with(mContext).compressVideo(paths[0], paths[1]);

    } catch (URISyntaxException e) {
        e.printStackTrace();
    }
    return filePath;

}

@Override
protected void onPostExecute(String compressedFilePath) {
    super.onPostExecute(compressedFilePath);

    File videoFile = new File(compressedFilePath);

}
}  

Тогда позвони.

new VideoCompressAsyncTask(getActivity()).execute(selectedVideoPath, f.getPath());

selectedVideoPath - путь к источнику видео, а f.getPath () - путь назначения.

Попробуйте так.

...