المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيفية عمل مشغل فلاش بكامل الازرار كمشغل الميديا


ميزو فوكس
20-05-2015, 06:29 PM
بسم الله الرحمن الرحيم
برجاء شرح كيفية عمل مشغل لملفات بصيغه ( swf )
فلاش يحتوي علي جميع الازرار مثل مشغل الميديا تماما
زر للتشغيل و زر للايقاف و زر للايقاف المؤقت و زر
للملف السابق و التالي و هكذا
للعمل به في اكبر اسطوانه اسلامية تعليمية للاطفال
بارك الله فيكم و جعل الله هذا العمل لنا و لكم شفيعا
يوم العرض عليه

ثامر أبو بلقيس
20-05-2015, 09:38 PM
السلام عليكم ورحمة الله وبركاته
أخي ريثما يفيدك الزملاء

ماذا لو نضع ملفات الفلاش في مجلد Flash التابع لبرنامج الاوتوبلاي

----
ونزود صفحة التجميعية بعنصر Flash وليكن Flash1 تستطيع إضافته من خلال القوائم العلوية للبرنامج

-----------------------------------

نكتب في الحدث on show
result = File.Find(_SourceFolder.."\\AutoPlay\\Flash", "*.swf", false, false, nil, nil);

x=1

السطر الاول للبحث عن كل ملفات الفلاش في مجلدنا السابق و تخزينها في متغير result
أما الاعلان x=1 سنستغله كعداد
--------------------------------------------------------------------------------------------------
نأتي للأزرار قلت أخي تحتاج لأربع
01 - لايقاف الفلاش مؤقتا
Flash.Seek("Flash1", SEEK_FORWARD, 0);

02 - لاستئناف التشغيل
Flash.Play("Flash1");


03 - التالي
Flash.Load("Flash1", result[x], false, false);
x=x+1
if x== #result then
x=1
end

04 - السابق

Flash.Load("Flash1", result[x], false, false);
x=x-1
if x==0 then
x=1
end

اذ بدى خلل عدله موفق :abc_138:

خادم المسلمين
21-05-2015, 07:29 AM
مشروع فيه تقريبا كل طلباتك

والشكر موصول للأستاذ ثامر

ويعد تطبيقا على احد شروحاته السابقة

الاوامر جاهزة
واما استبدال الازرار فهذه ا تركها لك حسب ذوقياتك الخاصة بك وبمشروعك
http://www.gulfup.com/?pQdvqq

صورة من المشروع
http://im59.gulfup.com/kHgLlO.jpg (http://www.gulfup.com/?rkf0D3)

ميزو فوكس
21-05-2015, 09:53 AM
السلام عليكم ورحمة الله وبركاته
أخي ريثما يفيدك الزملاء

ماذا لو نضع ملفات الفلاش في مجلد Flash التابع لبرنامج الاوتوبلاي

----
ونزود صفحة التجميعية بعنصر Flash وليكن Flash1 تستطيع إضافته من خلال القوائم العلوية للبرنامج

-----------------------------------

نكتب في الحدث on show
result = File.Find(_SourceFolder.."\\AutoPlay\\Flash", "*.swf", false, false, nil, nil);

x=1

السطر الاول للبحث عن كل ملفات الفلاش في مجلدنا السابق و تخزينها في متغير result
أما الاعلان x=1 سنستغله كعداد
--------------------------------------------------------------------------------------------------
نأتي للأزرار قلت أخي تحتاج لأربع
01 - لايقاف الفلاش مؤقتا
Flash.Seek("Flash1", SEEK_FORWARD, 0);

02 - لاستئناف التشغيل
Flash.Play("Flash1");


03 - التالي
Flash.Load("Flash1", result[x], false, false);
x=x+1
if x== #result then
x=1
end

04 - السابق

Flash.Load("Flash1", result[x], false, false);
x=x-1
if x==0 then
x=1
end

اذ بدى خلل عدله موفق :abc_138:

هذه هو ملف تجريبي للعمل اود مساعدتك في
وضع الاكواد علي ملف العمل للازرار المطلوبه
و بلاخص تكرار الفيديو بعدد من 1 الي 5 مرات
حسب اختيار المستخدم

http://www.gulfup.com/?BEp6E7

ميزو فوكس
21-05-2015, 09:54 AM
مشروع فيه تقريبا كل طلباتك

والشكر موصول للأستاذ ثامر

ويعد تطبيقا على احد شروحاته السابقة

الاوامر جاهزة
واما استبدال الازرار فهذه ا تركها لك حسب ذوقياتك الخاصة بك وبمشروعك
http://www.gulfup.com/?pQdvqq

صورة من المشروع
http://im59.gulfup.com/kHgLlO.jpg (http://www.gulfup.com/?rkf0D3)

هذه هو ملف تجريبي للعمل اود مساعدتك في
وضع الاكواد علي ملف العمل للازرار المطلوبه
و بلاخص تكرار الفيديو بعدد من 1 الي 5 مرات
حسب اختيار المستخدم

http://www.gulfup.com/?BEp6E7

ثامر أبو بلقيس
21-05-2015, 08:33 PM
السلام عليكم ورحمة الله وبركاته

أخي سأساعدك قدر الإمكان في بعض الأشياء
----------------------------------

افتح الملف الذي أرسلته
اضغط مرتين على اليست بوكس تجد ألسنة لاختيار الاحداث
اختر on select
وأكتب هذا الكود :
f=ListBox.GetCount("ListBox1");
n= ListBox.GetSelected("ListBox1");
v = ListBox.GetItemData("ListBox1", n[1]);
Flash.Load("Flash1", v, false, false);


الان نتوجه للأزرار لدينا زر التالي امسح الاكود المزروعة فيه
و اكتب هذا الكود
if n ~= nil then
ListBox.SelectItem("ListBox1", n[1]+1);
if n[1]+1 == f then
ListBox.SelectItem("ListBox1", 1);
end
else
ListBox.SelectItem("ListBox1", 1);
end

زر التشغيل و الايقاف خليهم كيما راهم

أما زر السابق امسح ما هو مكتوب من أكواد فيه
و أكتب
if n ~= nil then
ListBox.SelectItem("ListBox1", n[1]-1);
if n[1] == 1 then
ListBox.SelectItem("ListBox1", 1);
end
else
ListBox.SelectItem("ListBox1", 1);
end

بهذا نكون إن شاء الله قد أنهينا ضبط عمل بعض الازرار
يبقى التكرار دعنا نفكر مع بعض
تقديري:abc_138:

ميزو فوكس
21-05-2015, 09:16 PM
السلام عليكم ورحمة الله وبركاته

أخي سأساعدك قدر الإمكان في بعض الأشياء
----------------------------------

افتح الملف الذي أرسلته
اضغط مرتين على اليست بوكس تجد ألسنة لاختيار الاحداث
اختر on select
وأكتب هذا الكود :
f=listbox.getcount("listbox1");
n= listbox.getselected("listbox1");
v = listbox.getitemdata("listbox1", n[1]);
flash.load("flash1", v, false, false);


الان نتوجه للأزرار لدينا زر التالي امسح الاكود المزروعة فيه
و اكتب هذا الكود
if n ~= nil then
listbox.selectitem("listbox1", n[1]+1);
if n[1]+1 == f then
listbox.selectitem("listbox1", 1);
end
else
listbox.selectitem("listbox1", 1);
end

زر التشغيل و الايقاف خليهم كيما راهم

أما زر السابق امسح ما هو مكتوب من أكواد فيه
و أكتب
if n ~= nil then
listbox.selectitem("listbox1", n[1]-1);
if n[1] == 1 then
listbox.selectitem("listbox1", 1);
end
else
listbox.selectitem("listbox1", 1);
end

بهذا نكون إن شاء الله قد أنهينا ضبط عمل بعض الازرار
يبقى التكرار دعنا نفكر مع بعض
تقديري:abc_138:

تم بالفعل و جاري العمل علي التكرار

ثامر أبو بلقيس
21-05-2015, 10:57 PM
لم أفهم ردك أخي الكريم ..هل أنك تحاول في تحقيق التكرار أم ماذا ؟
موفق

ثامر أبو بلقيس
21-05-2015, 11:58 PM
و حتى لا يتأخر انتاجك لهاته الاسطوانة الاسلامية

نواصل من النقطة التي وصلنا إليها

و هي التكرار بعد ما عدلت على ملفك الاول و غيرت ماذكرنا
في ازرار -- التشغيل و الايقاف و التالي و السابق --- بقي لدينا زر التكرار و بجانبها قائمة متزحلقة
بعدد مرات التكرار
---------------------------------------------------------------------------------------------
01 - احذف تلك القائمة " ListBox2 " الموجودة بجانب زر التكرار
و عوضها بعنصر ComboBox1 ونكتب فيه اختيار عدد مرات التكرار
كما توضح الصورة

http://im43.gulfup.com/zpcXgx.bmp (http://www.gulfup.com/?j4Jbzu)
اضغط عيه مرتين و في on select
c1 = ComboBox.GetSelected("ComboBox1");
b1 = ComboBox.GetItemText("ComboBox1", c1);
b1 = String.ToNumber(b1);
02 - نضغط على عنصر الفلاش الموجود في صفحة العمل و نحقق
مايلي :
http://im43.gulfup.com/OyBIVW.bmp (http://www.gulfup.com/?iVXh33)

03 - نأتي لكتابة الأكواد في حدث الصفحة on timer
v1 =Flash.GetFlashVariable("Flash1", "_totalframes")
v2 =Flash.GetFlashVariable("Flash1", "_root._currentframe")
if v1==v2 then
b1=b1-1
Flash.Play("Flash1");
if b1 ==0 then
Flash.Stop("Flash1");
end
end

04 - في زر التكرار نفسه أكتب :
Page.StartTimer(500);
Flash.Play("Flash1");
-----------------------------------------------------------

اذ لم تساعدني الظروف في متابعة الموضوع هنا في الموقع
من سيواصل أويصحح لنجاح مثل هاته المشاريع بالتوفيق :abc_138:

azizsoft
22-05-2015, 01:24 AM
بسم الله الرحمن الرحيم

كفيت ووفيت
الله يبارك فيك يا الشيخ
في ميزان حسناتك ان شاء الله :abc_022:

abohmam
22-05-2015, 01:48 AM
جزاك الله خيرا أخى ثامر على الجواب الكافى والمتابعة الرائعة

ماشاء الله عليك أسال الله أن يبارك جهودك وأن يغفر لك

لك أجمل تحية

ميزو فوكس
22-05-2015, 11:36 AM
لم أفهم ردك أخي الكريم ..هل أنك تحاول في تحقيق التكرار أم ماذا ؟
موفق

اقصد ان جميع الازرار تعمل جيدا بعد تنفيذها
ولم يتبقي سوي زر التكرار الذي لم يتم حتي الان

ميزو فوكس
22-05-2015, 11:45 AM
و حتى لا يتأخر انتاجك لهاته الاسطوانة الاسلامية

نواصل من النقطة التي وصلنا إليها

و هي التكرار بعد ما عدلت على ملفك الاول و غيرت ماذكرنا
في ازرار -- التشغيل و الايقاف و التالي و السابق --- بقي لدينا زر التكرار و بجانبها قائمة متزحلقة
بعدد مرات التكرار
---------------------------------------------------------------------------------------------
01 - احذف تلك القائمة " listbox2 " الموجودة بجانب زر التكرار
و عوضها بعنصر combobox1 ونكتب فيه اختيار عدد مرات التكرار
كما توضح الصورة

http://im43.gulfup.com/zpcxgx.bmp (http://www.gulfup.com/?j4jbzu)
اضغط عيه مرتين و في on select
c1 = combobox.getselected("combobox1");
b1 = combobox.getitemtext("combobox1", c1);
b1 = string.tonumber(b1);
02 - نضغط على عنصر الفلاش الموجود في صفحة العمل و نحقق
مايلي :
http://im43.gulfup.com/oybivw.bmp (http://www.gulfup.com/?ivxh33)

03 - نأتي لكتابة الأكواد في حدث الصفحة on timer
v1 =flash.getflashvariable("flash1", "_totalframes")
v2 =flash.getflashvariable("flash1", "_root._currentframe")
if v1==v2 then
b1=b1-1
flash.play("flash1");
if b1 ==0 then
flash.stop("flash1");
end
end

04 - في زر التكرار نفسه أكتب :
page.starttimer(500);
flash.play("flash1");
-----------------------------------------------------------

اذ لم تساعدني الظروف في متابعة الموضوع هنا في الموقع
من سيواصل أويصحح لنجاح مثل هاته المشاريع بالتوفيق :abc_138:

تسلم الايادي بالفعل نجح التكرار و لكن كيف
يمكنني تشغيل الملف المتالي مباشرة بعد انتهاء
الملف الحالي اقصد تشغيل تلقائي للملف التالي
في قائمه الليست بوكس

ميزو فوكس
22-05-2015, 11:48 AM
بسم الله الرحمن الرحيم

كفيت ووفيت
الله يبارك فيك يا الشيخ
في ميزان حسناتك ان شاء الله :abc_022:

اشكركم جميعا علي الدعم المتواصل منكم

ثامر أبو بلقيس
22-05-2015, 02:44 PM
كيف
يمكنني تشغيل الملف المتالي مباشرة بعد انتهاء
الملف الحالي اقصد تشغيل تلقائي للملف التالي
في قائمه الليست بوكس

سيكتنف تنفيذ ذلك بعض العراقيل منها عندما يختار المستخدم
تكرار ملف خمس مرات مثلا كيف سننجز كود يفرق بين التالي و الذي يبقى هونفسه
الملف حتى تكتمل عدد مرات التكرار ؟
وكيف يتم الانتقال في الحالة العادية لوكنا نتعامل مع ملفات الفيديو او الصوت
لكان الوضع اسهل المهم
سنكتب لك مقترحا :abc_138:

ثامر أبو بلقيس
22-05-2015, 02:57 PM
السلام عليكم ورحمة الله وبركاته
------------------------------------------
لتحقيق المطلب الأخير نرجع لملفنا بعدما أجرينا عليه تعديلات سابقا

01 - زر التكرار الان نمسح ما فيه و نكتب
if n ~= nil then
Page.StartTimer(10, 10);
Page.StopTimer(20);
Flash.Play("Flash1");
else
Dialog.TimedMessage("برجاء", "حدد الملف من القائمة و أكد على عدد مرات التكرار", 2000, MB_ICONINFORMATION);
b1=1
end


02 - زر التشغيل نمسح ما هو مكتوب
و نستبدله بـ
Page.StopTimer(10);
Page.StartTimer(500, 20);
if n ~= nil then
Flash.Play("Flash1");
else
ListBox.SelectItem("ListBox1", 1);
Flash.Play("Flash1");
end

03 - في حدث الصفحة on timer نمسح الكود السابق
ونعوضه بــ

--------------------------------------------------------------
v1 =Flash.GetFlashVariable("Flash1", "_totalframes")
v2 =Flash.GetFlashVariable("Flash1", "_root._currentframe")
if e_ID==10 then
if v1==v2 then
b1=b1-1
Flash.Play("Flash1");
if b1 ==0 then
Flash.Stop("Flash1");
end
end
end
------------------------------------------------------------
if e_ID==20 then
b1=1
if v1==v2 then
b1=b1-1
Flash.Play("Flash1");
if b1 ==0 then
Flash.Stop("Flash1");
ListBox.SelectItem("ListBox1", n[1]+1);
else
if n ~= nil then
ListBox.SelectItem("ListBox1",n[1]+1 );
end
end
end
end

عند أي عملية تشغيل ملف بتكرار معين وجب تأكيد عدد المرات و ليس الاكتفاء بالعدد المكتوب أي نؤكده

حاول رفع ملف مفتوح بعد التعديلات
موفق :abc_138:

ثامر أبو بلقيس
22-05-2015, 03:17 PM
واذا لاحظت خلل في زر التالي استبدله بــ
if n ~= nil then
ListBox.SelectItem("ListBox1", n[1]+1);
else
ListBox.SelectItem("ListBox1", 1);
end

ميزو فوكس
22-05-2015, 05:17 PM
واذا لاحظت خلل في زر التالي استبدله بــ
if n ~= nil then
ListBox.SelectItem("ListBox1", n[1]+1);
else
ListBox.SelectItem("ListBox1", 1);
end

اذا سمحت اعلم اني اجهدتك معي ولكن ارجو ان تتحملني
فقد قمت برفع الملف التجريبي للعمل و ارجو منك وضع الاكواد بنفسك
لانها دائما ما تعمل معي ثم اعادة رفعه لكي يستفيد منه الجميع ليس انا
فقط فالجميع يبحث عن هذه الخصائص لذلك ارجو منك اعادة رفعه بعد الانتهاء
و اتمني لو تطبق لنا العمل علي ملفات الفلاش و الفيديو و الصوت من حيث
تفعيل زر التكرار و تشغيل الملف التالي مباشره جعله الله في ميزان اعمالك

هذا هو ملف العمل التجريبي
http://www.gulfup.com/?ysoVz7

ميزو فوكس
23-05-2015, 11:20 AM
السلام عليكم ورحمة الله وبركاته
------------------------------------------
لتحقيق المطلب الأخير نرجع لملفنا بعدما أجرينا عليه تعديلات سابقا

01 - زر التكرار الان نمسح ما فيه و نكتب
if n ~= nil then
page.starttimer(10, 10);
page.stoptimer(20);
flash.play("flash1");
else
dialog.timedmessage("برجاء", "حدد الملف من القائمة و أكد على عدد مرات التكرار", 2000, mb_iconinformation);
b1=1
end


02 - زر التشغيل نمسح ما هو مكتوب
و نستبدله بـ
page.stoptimer(10);
page.starttimer(500, 20);
if n ~= nil then
flash.play("flash1");
else
listbox.selectitem("listbox1", 1);
flash.play("flash1");
end

03 - في حدث الصفحة on timer نمسح الكود السابق
ونعوضه بــ

--------------------------------------------------------------
v1 =flash.getflashvariable("flash1", "_totalframes")
v2 =flash.getflashvariable("flash1", "_root._currentframe")
if e_id==10 then
if v1==v2 then
b1=b1-1
flash.play("flash1");
if b1 ==0 then
flash.stop("flash1");
end
end
end
------------------------------------------------------------
if e_id==20 then
b1=1
if v1==v2 then
b1=b1-1
flash.play("flash1");
if b1 ==0 then
flash.stop("flash1");
listbox.selectitem("listbox1", n[1]+1);
else
if n ~= nil then
listbox.selectitem("listbox1",n[1]+1 );
end
end
end
end

عند أي عملية تشغيل ملف بتكرار معين وجب تأكيد عدد المرات و ليس الاكتفاء بالعدد المكتوب أي نؤكده

حاول رفع ملف مفتوح بعد التعديلات
موفق :abc_138:
برجاء المساعدة وقد ارسلت لك ملف مفتوح للعمل في المشاركة
السابقه اتمني اعادة رفعها من جديد لكي يتعلم منها الجميع وشكرا

ثامر أبو بلقيس
23-05-2015, 05:29 PM
أخي الكريم .. كل الأكواد المتعلقة بالفلاش كتبتها لك و هي صالحة
فقط رتبها و لا داعي لدمج طلبات مع بعضها ... لأني لاحظت أن الطلب تحول
من الفلاش الى الفيديو و ألى الصوت لذلك ... نظم ملفا مفتوحا بما تعلق بالفلاش
-----------------
أما بقية الطلبات يستحسن فتح لكل منها استفسارا حتى يتمكن الزملاء بمساعدتك
أخبرتك في مشاركة سابقة أن الوقت ليس ملكي تماما بسبب ظروف الامتحانات

أرجو من الزملاء الوقوف مع الاخ الكريم في مسعاه موفق :abc_138:

ميزو فوكس
23-05-2015, 05:43 PM
أخي الكريم .. كل الأكواد المتعلقة بالفلاش كتبتها لك و هي صالحة
فقط رتبها و لا داعي لدمج طلبات مع بعضها ... لأني لاحظت أن الطلب تحول
من الفلاش الى الفيديو و ألى الصوت لذلك ... نظم ملفا مفتوحا بما تعلق بالفلاش
-----------------
أما بقية الطلبات يستحسن فتح لكل منها استفسارا حتى يتمكن الزملاء بمساعدتك
أخبرتك في مشاركة سابقة أن الوقت ليس ملكي تماما بسبب ظروف الامتحانات

أرجو من الزملاء الوقوف مع الاخ الكريم في مسعاه موفق :abc_138:

اسف جدا و اشكر لك تعبك و مجهودك معي
بارك الله فيك واعانك علي مساعدة عباد الله
من علمك في الخير و جعله في ميزان اعمالك