آموزش فشرده سازی عکس و فیلم در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش فشرده سازی عکس و فیلم در برنامه نویسی اندروید می پردازیم قبلا آموزش فشرده سازی عکس را بدون استفاده از کتاب خانه قرار دادیم ولی امروز به فشرده سازی چند برابر بیشتر هم عکس و هم فیلم می پردازیم در ادامه با ما همراه باشید.
ابتدا باید مثل همیشه وارد فایل build.gradle  a شده در بخش dependencies خط زیر را اضافه کنید.

compile 'com.iceteck.silicompressorr:silicompressor:2.0'

سپس پروژه را sync کنید (علت های خطای Gradle را قبل تر بررسی کردیم در سایت جستجو کنید.)
دسترسی های زیر را در AndroidManifest.xml اضافه کنید
خواندن و نوشتن در حافظه

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

کد زیر برای فشرده سازی ویدیو است

String filePath = SiliCompressor.with(this).compressVideo(sourceUriString, destinationUriString);

sourceUriString مسیر ویدیویی که شما باید بهش بدهید و destinationUriString مسیری است که می خواهید ویدیو بعد از فشرده سازی در آنجا ذخیره شود است و کل آن مسیر جدید فیلم فشرده شده را در filePath قرار میدهد.
کد زیر برای فشرده سازی عکس است.

String filePath = SiliCompressor.with(this).compress(imageUriString, destinationFile);

مسیر عکسی که می خواهیم فشرده شود و مسیر عکسی است که بعد از فشرده شدن می خواهد ذخیره شود و مثل قبل مسیر عکس جدید در متغیر filePath قرار می گیرد.
کد زیر همانند کد بالا است فقط یک تفاوت دارد که درادامه آن را می گوییم.

String filePath = SiliCompressor.with(this).compress(imageUriString, destinationFile, true);

در کد بالا یک true اضافه شده است و کار آن این است که فایل اصلی را که به آن داده اید را حذف می کند و فقط نسخه فشرده شده را نگه میدارد.
برای فشرده سازی عکس ها در فولدر drawable می توانید از کد زیر استفاده کنید.

String filePath = SiliCompressor.with(this).compress(R.drawable.icon);

از کد زیر به منظور فشرده سازی عکس استفاده می شود و برگشت آن از نوع bitmap است.

Bitmap imageBitmap = SiliCompressor.with(this).getCompressBitmap(imageUriString);

کد زیر هم برای فشرده سازی + حذف فایل اصلی است و برگشت آن نیز bitmap است.

Bitmap imageBitmap = SiliCompressor.with(Context).getCompressBitmap(imageUriString, true);

 
 
این آموزش هم به پایان رسید.
 
موفق باشید.

مطالعه بیشتر