آموزش فشرده سازی عکس و فیلم در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش فشرده سازی عکس و فیلم در برنامه نویسی اندروید می پردازیم قبلا آموزش فشرده سازی عکس را بدون استفاده از کتاب خانه قرار دادیم ولی امروز به فشرده سازی چند برابر بیشتر هم عکس و هم فیلم می پردازیم در ادامه با ما همراه باشید.
ابتدا باید مثل همیشه وارد فایل build.gradle a شده در بخش dependencies خط زیر را اضافه کنید.
1 | compile 'com.iceteck.silicompressorr:silicompressor:2.0' |
سپس پروژه را sync کنید (علت های خطای Gradle را قبل تر بررسی کردیم در سایت جستجو کنید.)
دسترسی های زیر را در AndroidManifest.xml اضافه کنید
خواندن و نوشتن در حافظه
1 2 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> |
کد زیر برای فشرده سازی ویدیو است
1 | String filePath = SiliCompressor.with(this).compressVideo(sourceUriString, destinationUriString); |
sourceUriString مسیر ویدیویی که شما باید بهش بدهید و destinationUriString مسیری است که می خواهید ویدیو بعد از فشرده سازی در آنجا ذخیره شود است و کل آن مسیر جدید فیلم فشرده شده را در filePath قرار میدهد.
کد زیر برای فشرده سازی عکس است.
1 | String filePath = SiliCompressor.with(this).compress(imageUriString, destinationFile); |
مسیر عکسی که می خواهیم فشرده شود و مسیر عکسی است که بعد از فشرده شدن می خواهد ذخیره شود و مثل قبل مسیر عکس جدید در متغیر filePath قرار می گیرد.
کد زیر همانند کد بالا است فقط یک تفاوت دارد که درادامه آن را می گوییم.
1 | String filePath = SiliCompressor.with(this).compress(imageUriString, destinationFile, true); |
در کد بالا یک true اضافه شده است و کار آن این است که فایل اصلی را که به آن داده اید را حذف می کند و فقط نسخه فشرده شده را نگه میدارد.
برای فشرده سازی عکس ها در فولدر drawable می توانید از کد زیر استفاده کنید.
1 | String filePath = SiliCompressor.with(this).compress(R.drawable.icon); |
از کد زیر به منظور فشرده سازی عکس استفاده می شود و برگشت آن از نوع bitmap است.
1 | Bitmap imageBitmap = SiliCompressor.with(this).getCompressBitmap(imageUriString); |
کد زیر هم برای فشرده سازی + حذف فایل اصلی است و برگشت آن نیز bitmap است.
1 | Bitmap imageBitmap = SiliCompressor.with(Context).getCompressBitmap(imageUriString, true); |
این آموزش هم به پایان رسید.
موفق باشید.
اخ چقدر کاربردیه این به خصوص تو سورسای ایمیل با اتچ
شما تونستی استفاده کنی ؟ روی mediacontroller ارور rotate میده