رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

پژمان نیکروان

گرفتن یک تصویر بند انگشتی(Thumbnail) از ویدیو - برای ساخت گالری

پست های پیشنهاد شده

پژمان نیکروان    6,021

مدیر بازنشسته

سلام،

توی یه پروژه ای به همین مورد برخوردم، قبلاً توی تاپیکی گفته شده بود از کتابخانه MediaBrowser استفاده کنید... میشه اما اصلا عملکردش درست و بهینه نیست، چون نمیشه با دادن آدرس و نام فایل ویدیو ازش یه تصویر گرفت، باید میومدیم کل ویدیوهای گوشی رو لیست میکردیم و تازه اون ویدیو مورد نظرو نمیدونم باچی پیدا میکردیم و با استفاده از ID یک عکس از ویدیو میگرفتیم.

 

اما بااین روش با استفاده از یک تابع ساده در جاوا میتونیم یک Bitmap از تصویر بند انگشتی ویدیو بدست بیاریم:

 

تابع جاوا زیر رو ایجاد میکنیم زیر یکی از End sub ها در فضای خالی:

#if java
import android.graphics.Bitmap;
import android.provider.MediaStore.Video.Thumbnails;
import android.media.ThumbnailUtils;

	public Bitmap getThumbnail(String path){
		return ThumbnailUtils.createVideoThumbnail(path, Thumbnails.MICRO_KIND);
	}
#end if

و با استفاده از این کد عکس مورد نظر رو از ویدیو میگیریم:

	Dim j As JavaObject:j.InitializeContext
	Dim bitmap1 As Bitmap=j.RunMethod("getThumbnail",Array As Object(File.Combine(File.DirRootExternal,"video.mp4")))

مسیر ویدیو هم که مشخصه باید کجا داد...

bitmap1 هم همون تصویر بند انگشتی از ویدیو هست که میتونید هرجا دوس دارید نمایشش بدید.

 

کتابخانه JavaObject هم یادتون نره تیک بزنید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
ali.1020    98

کاربر رو به رشد

سلام تشکر بابت کد 

ببخشید شاید سوال خیلی مبتدیانه باشه 

چه جوری ازش استفاده کنم؟ من bitmap رو برابر یه ایمج ویو قرار دادم فورس کلوز داد برنامه  (فک کنم اشتباه از منه:pardon:)

اینم کدهام + خطا

 

Capture.PNG

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
پژمان نیکروان    6,021

مدیر بازنشسته

در 47 دقیقه قبل، ali.1020 گفته است :

چه جوری ازش استفاده کنم؟ من bitmap رو برابر یه ایمج ویو قرار دادم فورس کلوز داد برنامه  (فک کنم اشتباه از منه:pardon:)

سلام

قبل از j.RunMethod... که نوشتید پشتش bitmap1= بذارید.

bitmap1=j.runMethod

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
پژمان نیکروان    6,021

مدیر بازنشسته

در 1 ساعت قبل، ali.1020 گفته است :

بفرمایید فرقی نکرد 

وقتی میگه bitmap رو اینشیالایز کنید، پس یعنی bitmap اصلا عکسی نداره، و از خط 43 ایراد گرفته.

دلیلشم اینه که نتونسته عکس از ویدیو بگیره، چون مسیرش Asset(پوشه Files) هست. ویدیو رو باید کپی کنید داخل حافظه خارجی بجز پوشه پروژه، یعنی File.DirRootExternal و بعد همون مسیر رو بدید.

اگه واقعا براتون ضرروریه که باید از پوشه files بخونید فیلم رو، من چک میکنم اگه راهی بود که ازاونجا هم قبول کنه پست اول رو ویرایش میکنم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
ali.1020    98

کاربر رو به رشد

در 21 دقیقه قبل، پژمان نیکروان گفته است :

وقتی میگه bitmap رو اینشیالایز کنید، پس یعنی bitmap اصلا عکسی نداره، و از خط 43 ایراد گرفته.

دلیلشم اینه که نتونسته عکس از ویدیو بگیره، چون مسیرش Asset(پوشه Files) هست. ویدیو رو باید کپی کنید داخل حافظه خارجی بجز پوشه پروژه، یعنی File.DirRootExternal و بعد همون مسیر رو بدید.

اگه واقعا براتون ضرروریه که باید از پوشه files بخونید فیلم رو، من چک میکنم اگه راهی بود که ازاونجا هم قبول کنه پست اول رو ویرایش میکنم.

برای ویدیوهای داخل Asset هم میرم همه روکپی میکنم توی مموری و از روش شما استفاده میکنم 

اگر راهی پیدا کردید که چه بهتر اگر نه که فعلا با این ترفند سر میکنم 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
hojjatborohan    55

کاربر رو به رشد

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

×
×
  • جدید...