عبود عبود
08-09-2013, 11:20 PM
http://i.imgur.com/57UrtCm.gif
http://i.imgur.com/emf2NIh.gif
:abc_012: ملحوظة : إن شاء الله سوف يتم وضع مجموعة ملفات مفتوحة توضح ما يتم شرحة ولكن فى وقت مناسب لوضعها وذلك لترتيب أريدة ولجعل القارئ يحاول التطبيق على ضوء ما يفهمة هو من خلال متابعة القراءة للمواضيع وترك المجال للأسئلة فى النقط التى يصعب إستيعابها.
أولا : سلسلة شروحات الأكشن سكريبت رقم 1 طريقة التعامل مع " Audio "
يستخدم فى التحكم فى تشغيل الصوتيات فى خلفية المشروع أو خلفيات المشروع من دون إستخدام عناصر أوبجيكت من العناصر المعروفة لآداء هذة الوظيفة
فى البداية يجب أن نعرف أن الخلفية الصوتية أو مجموعة صوتيات الخلفية الصوتية يمكن أن تتحدد بأكثر من طريقة سوف نشرح من الأسهل إلى الأصعب تدريجيا
نبدأ أولا بالأسهل وهى الطريقة العادية الروتينية :
من قائمة البرنامج نضغط على :
Project ........ Audio
سوف يظهر لنا ديالوج أو مربع حوار أو مربع إختيار بة زرين تبويب فى الأعلى أحدهما هو Background Music و سوف يكون بشكل إفتراضى هو المفتوح
يوجد زر add يمكن من خلالة إضافة أى صوت بعد البحث عنة نتيجة ظهور مربع بحث للملفات الصوتية وإدراجة فى قائمة التشغيل
صورة تضم إجمالى ما سبق للتوضيح :
http://i.imgur.com/KWb4Izs.png
نأتى لشرح ما يتضمنة مربع الحوار الأخير لإضافة ملفات الصوت فى قائمة للتشغيل فى الخلفية
إستعراض للصورة لتوضيح الشرح لما تتضمة :
http://i.imgur.com/qeFtooV.png
1- اللسان أو التبويب الخاص بقائمة أصوات الخلفية الصوتية و تحكماتها المبدئية .
2- زر إضافة صوت أو بمعنى أصـــح زر إضافة ملف صوتى إلى قائمة الصوتيات .
3- زر حذف الملف الصوتى المحدد فهو يصبح مفعلا عند تحديد ملف صوت .
4- زر لترتيب الملف الصوتى المحدد أو نقلة بمعى أصــــح إلى الأعلى تدريجيا .
5- زر لترتيب الملف الصوتى المحدد أو نقلة بمعى أصــــح إلى الأسفل تدريجيا .
6- زر لإختبار تشغيل الملف الصوتى الذى يتم تحديدة .
7- زر لإيقاف تشغيل الملف الصوتى الذى يتم تحديدة .
8- زر على هيئة ما يسمى براديو بوتون أى أنة بوضع علامة فية يصبح مفعلا ووظيفة هذا الزر عند إختيارة هو تشغيل الملفات الصوتية المدرجة فى القائمة تشغيلا تسلسليا أى بفس الترتيب المدرج بة الملفات الصوتية فى القائمة .
9- زر على هيئة ما يسمى براديو بوتون أى أنة بوضع علامة فية يصبح مفعلا ووظيفة هذا الزر عند إختيارة هو تشغيل الملفات الصوتية المدرجة فى القائمة تشغيلا عشوائيا أى إختيار عشوائى لأى ملف صوتى دون التقيد بــــ الترتيب المدرج بة الملفات الصوتية فى القائمة .
10- هو عبارة عن إينبوت أو عنصر إدخال أو كتابة يمكن من خلالة تحديد مدى مستوى الصوت الذى يعمل فى قائمة الخلفية الصوتية عند تشغيلها و يكون على أقصى درجة بوضع إفتراضى وهو 255 و يمكن تغييرة بالكتابة المباشرة أو بالضغط على أحد الأسهم .
11- هو عبارة عن زر على هيئة مربع إختيارى يسمى بــ تشيك بوكس بوضع علامة فية يصبح مفعلا ووظيفتة هو التكرار فى حالة وضع علامة التفعيل
وللتنوية فهو عند تفعيلة يعمل على تكرار تشغيل ما هو موجود فى قائمة الملفا الصوتية بعد الإنتهاء تماما من ما هو موجود فى القائمة ككل .
:abc_087: طبعا بعد الإنتهاء من أى إعدادات لأى مربع حوار يتم الضغط على زر OK لتسجيل و حفظ ما تم .
:abc_012: إستعراض لجميع محتويات الكود أو السكريبت الخاص بهذا الأكشن :
Audio.GetCurrentPos
Audio.GetFilename
Audio.GetLength
Audio.GetOggTags
Audio.GetVolume
Audio.IsLooping
Audio.Load
Audio.Pause
Audio.Play
Audio.Seek
Audio.SetLooping
Audio.SetVolume
Audio.Stop
Audio.ToggleMute
Audio.TogglePlay
http://i.imgur.com/NfWIHC5.gif
أولا : " Audio.GetCurrentPos " :
يستعمل هذا الكود أو السكريبت للحصول على الموقف الحالى لما هو للصوت المشغل حاليا فى الخلفية أى الوضع الحالى للوقت فى زمن تشغيل الملف الصوتى و يكون بالثوانى
بمعنى أوضح نفترض أن المقطع الصوتى الذى يعمل مدتة هو مثلا 50 ثانية و نريد أن نعرف فى أى ثانية يعمل الآن الملف الحالى فهنا هو دور هذا الكود أو السكريبت السابق .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو الثاية الحالية من تشغيل الملف الصوتى الحالى
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو 1-
http://i.imgur.com/NfWIHC5.gif
ثانيا : " Audio.GetFilename " :
يستعمل هذا الكود أو السكريبت لإيجاد أو تحديد مسار و إسم و إمتداد الملف الصوتى الحالى .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو مسار و إسم و إمتداد الملف الصوتى الحالى
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو لاشيئ "" .
http://i.imgur.com/NfWIHC5.gif
ثالثا : " Audio.GetLength " :
يستعمل هذا الكود أو السكريبت للحصول أو لمعرفة طول الملف الصوتى الحالى بالثوانى بمعنى إجمالى طول الملف الصوتى الحالى .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو الطول الكلى بالثانية للملف الصوتى الحالى
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو 1-
http://i.imgur.com/NfWIHC5.gif
رابعا : " Audio.GetOggTags " :
يستخدم للإستعلام عن الأثر الكتابى للملف الصوتى الحالى أو بيانات الملف الصوتى الحالى و هو حقوق المنتج للملف الصوتى مثل عنوان أو الفيرجين للريماكس أو الألبوم والكثير من المعلومات التى تكتب بواسطة الشركات المنتجة للمقطع الصوتى وهنا وجب التنوية على أن هذا الكود يستعمل مع الملفات الصوتية ذات إمتداد ogg. فقط .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو عبارة عن مصفوفة أو جدول لمعلومات الملف الصوتى الحالى وهذا الجدول يكون كالتالى :
http://i.imgur.com/zRhMLUN.png
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو nil غير معروف .
http://i.imgur.com/NfWIHC5.gif
خامسا : " Audio.GetVolume " :
يستخدم هذا الكود أو السكريبت لمعرفة حجم الصوت الحالى للقناة السمعية الحالية التى يعمل فيها الملف الصوتى .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو رقم ما بين 0 و 255 على حسب الضبط الحالى لحجم صوت الملف الصوتى الحالى
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو 1-
http://i.imgur.com/NfWIHC5.gif
سادسا : " Audio.IsLooping " :
يستخدم لمعرفة حالة إستخدام خاصية تكرار الملف الصوتى فى حالة الملف الصوتى الواحد فقط أما فى حالة إستخدام أو تعيين مجموعة ملفات صوتية كما شرحنا سابقا
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو نتيجة إيجابية يعبر هنا بــــ true أو نتيجة سلبية يعبر عنها بــــ false على حسب الوضع الحالى للتكرار إذا كان مفعلا أو لا
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو false
http://i.imgur.com/NfWIHC5.gif
سابعا : " Audio.Load " :
يستخدم لتحميل ملف صوتى وتشغيلة فى القناة السمعية المحددة ومع العلم فى حالة إستخدام هذا الكود يتم إلغاء القائمة المعدة مسبقا للملفات الصوتية إذا تم تحميل الملف الصوتى على نفس القناة السمعية
مكونات هذا الكود أو السكريبت هو عدد 4 باراميتر
أولا : Channel القناة السمعية التى يعمل فيها الملف الصوتى الحالى
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
ثانيا : Filename إسم الملف الصوتى المراد تشغيلة أو بمعنى أصح المسار الكامل للملف الصوتى المراد تحميلة و تشغيلة فى القناة السمعية .
مع وضع فى الإعتبار يمكن تشغيل الملفات الصوتية من صفحات الويب كمثال لتشغيل ملف صوتى :
" http://www.tvquranserver.com/download/Maher_1/001.mp3 "
ثالثا : PlayAutomatic هو عبارة عن إختيار لقيم بولينية " إما true وإما false " هذة القيمة التى تختار تعبر عن حالة التشغيل الأتوماتيكى للملف الصوتى الذى يتم تحديدة فعند الرغبة فى تشغيل الملف الصوتى بشكل أوتوماتيكى عقب تحميلة فى القناة السمعية المحددة يتم إختيار القيمة true
وفى حالة عدم الرغبة فى تشغيل الملف الصوتى بشكل أتوماتيكى عقب عملية التحميل للملف يتم إختيار القيمة false
وفى جميع الأحوال يجب أن نعرف أن طالما تم تحديد ملف صوتى وتحديد القناة السمعية فيمكن تشغيلة لاحقا كما سوف نوضح بالأكواد التالية فى الشرح .
رابعا : Loop هو عبارة عن إختيار لقيم بولينية " إما true وإما false " هذة القيمة التى تختار تعبر عن حالة التشغيل للملف الصوتى المحدد من ناحية هل سوف يتم تكرار عملية التشغيل بعد الوصول لنهاية الملف الصوتى ويتم التشغيل مرة أخرى بعد الإنتهاء ففى حالة إختيار القيمة true فإن التكرار للملف الصوتى المحدد يكون فى وضع فعال وعند إختيار القيمة false فإن عملية التكرار تصبح غير فعالة ولا يتم التكرار عقب إنتهاء الملف الصوتى المحدد فى القناة السمعية المحددة .
http://i.imgur.com/NfWIHC5.gif
ثامنا : " Audio.Pause " :
يستعمل لتوقيف تشغيل الملف الصوتى الحالى توقيفا مؤقتا يمكن بعدها بإستعمال كود التشغيل للإستكمال مرة أخرى من نقطة التوقف .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
تاسعا : " Audio.Play " :
يستخدم لتشغيل القناة السمعية المحددة بجميع محتواياتها من ملفات صوتية وأيضا يمكنة تشغيل الملف الصوتى المتوقف توقيفا مؤقتا بالكود السابق فى القناة السمعية المحددة .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
عاشرا : " Audio.Seek " :
يستخدم للتنقل بين أو فى شريط الوقت للملف الصوتى فى القناة السمعية المحددة
مكونات هذا الكود أو السكريبت هو عدد 3 باراميتر
أولا : Channel القناة السمعية التى يعمل فيها الملف الصوتى الحالى
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
ثانيا : SeekType ولتحديد نوعية الإنتقال أو التنقل على شريط الوقت للملف الصوتى فى القناة السمعية المحددة فيتم الإختيار بين ما هو موضح بالجدول التالى :
http://i.imgur.com/yT2ywKu.png
وفية نجد أن القيمة 0 أو SEEK_BEGINNING تعبر عن الإنتقال إلى نقطة بداية الملف الصوتى الحالى فى القناة السمعية المحددة .
وفية نجد أن القيمة 1 أو SEEK_END تعبر عن الإنتقال إلى نقطة نهاية الملف الصوتى الحالى فى القناة السمعية المحددة .
وفية نجد أن القيمة 2 أو SEEK_FORWARD تعبر عن الإنتقال إلى الأمام بالثوانى فى الملف الصوتى الحالى فى القناة السمعية المحددة وذلك عن طريق التحديد كما سوف يوضح بما هو تالى فى الشرح .
وفية نجد أن القيمة 3 أو SEEK_BACKWARD تعبر عن الإنتقال إلى الخلف بالثوانى فى الملف الصوتى الحالى فى القناة السمعية المحددة وذلك عن طريق التحديد كما سوف يوضح بما هو تالى فى الشرح .
وفية نجد أن القيمة 4 أو SEEK_SPECIFIC تعبر عن القيمة المراد الإنتقال بها أو إليها بالثوانى فى الملف الصوتى فى القناة السمعية المحددة و تستعمل و تكون فعالة فقط مع القيم 2 و 3 و 4
http://i.imgur.com/NfWIHC5.gif
الحادى عشر : " Audio.SetLooping " :
يستخدم لضبط الوضع للملف الصوتى من ناحية هى تريد تكرار تشغيلة عند الإنتهاء من تشغيلة أو عند وصولة لقطة النهاية أم لا تريد
مكونات هذا الكود أو السكريبت هو عدد 2 باراميتر
أولا : Channel القناة السمعية التى يعمل فيها الملف الصوتى الحالى
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
ثانيا : Looping هو الحالة المراد ضبطها لتشغيل التكرار للملف الصوتى فى القناة السمعية المحددة و ذلك عن طريق الإختيار بين القيم البولينية true أو false
ففى حالة الضبط أو إختيار القيمة true فسوف يتم التكرار عند وصول الملف الصوتى فى القناة السمعية المحددة لنهايتة و العكس سوف يتم إلغاء حالة التكرار عند إختيار القيمة false
:abc_087: وهنا وجب التنوية على أن التكرار يمكن أن يتم فقط مع الملفات الصوتية المدرجة فى المشروع فقط ولا يمكن مع الملفات الصوتية المرفوعة على سيرفيرات الويب .
http://i.imgur.com/NfWIHC5.gif
الثانى عشر : " Audio.SetVolume " :
يستخدم لضبط الوضع للملف الصوتى من ناحية هى تريد تكرار تشغيلة عند الإنتهاء من تشغيلة أو عند وصولة لقطة النهاية أم لا تريد
مكونات هذا الكود أو السكريبت هو عدد 2 باراميتر
أولا : Channel القناة السمعية التى يعمل فيها الملف الصوتى الحالى
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
ثانيا : Volume هو مستوى الصوت المراد ضبطه للقناة السمعية المحددة ويتم الإختيار أو الضبط فيما بين 0 و 255
http://i.imgur.com/NfWIHC5.gif
الثالث عشر : " Audio.Stop " :
ويستخدم لوقف تشغيل الملف الصوتى فى القناة السمعية المحددة.
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
الرابع عشر : " Audio.ToggleMute " :
ويستخدم لتبديل أو توقيف أو إغلاق أو كتم صوت القناة السمعية المحددة .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
الخامس عشر : " Audio.TogglePlay " :
ويستخدم لتبديل أو توقيف مؤقت أو تشغيل القناة السمعية المحددة .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
:abc_138: يمكن تحميــل الشرح من المرفقات فقد تم تحويلة إلى كتـاب بى دى إف :abc_138:
http://i.imgur.com/2GnNEXz.gif
http://i.imgur.com/Nz3B0Vj.gif
http://i.imgur.com/emf2NIh.gif
:abc_012: ملحوظة : إن شاء الله سوف يتم وضع مجموعة ملفات مفتوحة توضح ما يتم شرحة ولكن فى وقت مناسب لوضعها وذلك لترتيب أريدة ولجعل القارئ يحاول التطبيق على ضوء ما يفهمة هو من خلال متابعة القراءة للمواضيع وترك المجال للأسئلة فى النقط التى يصعب إستيعابها.
أولا : سلسلة شروحات الأكشن سكريبت رقم 1 طريقة التعامل مع " Audio "
يستخدم فى التحكم فى تشغيل الصوتيات فى خلفية المشروع أو خلفيات المشروع من دون إستخدام عناصر أوبجيكت من العناصر المعروفة لآداء هذة الوظيفة
فى البداية يجب أن نعرف أن الخلفية الصوتية أو مجموعة صوتيات الخلفية الصوتية يمكن أن تتحدد بأكثر من طريقة سوف نشرح من الأسهل إلى الأصعب تدريجيا
نبدأ أولا بالأسهل وهى الطريقة العادية الروتينية :
من قائمة البرنامج نضغط على :
Project ........ Audio
سوف يظهر لنا ديالوج أو مربع حوار أو مربع إختيار بة زرين تبويب فى الأعلى أحدهما هو Background Music و سوف يكون بشكل إفتراضى هو المفتوح
يوجد زر add يمكن من خلالة إضافة أى صوت بعد البحث عنة نتيجة ظهور مربع بحث للملفات الصوتية وإدراجة فى قائمة التشغيل
صورة تضم إجمالى ما سبق للتوضيح :
http://i.imgur.com/KWb4Izs.png
نأتى لشرح ما يتضمنة مربع الحوار الأخير لإضافة ملفات الصوت فى قائمة للتشغيل فى الخلفية
إستعراض للصورة لتوضيح الشرح لما تتضمة :
http://i.imgur.com/qeFtooV.png
1- اللسان أو التبويب الخاص بقائمة أصوات الخلفية الصوتية و تحكماتها المبدئية .
2- زر إضافة صوت أو بمعنى أصـــح زر إضافة ملف صوتى إلى قائمة الصوتيات .
3- زر حذف الملف الصوتى المحدد فهو يصبح مفعلا عند تحديد ملف صوت .
4- زر لترتيب الملف الصوتى المحدد أو نقلة بمعى أصــــح إلى الأعلى تدريجيا .
5- زر لترتيب الملف الصوتى المحدد أو نقلة بمعى أصــــح إلى الأسفل تدريجيا .
6- زر لإختبار تشغيل الملف الصوتى الذى يتم تحديدة .
7- زر لإيقاف تشغيل الملف الصوتى الذى يتم تحديدة .
8- زر على هيئة ما يسمى براديو بوتون أى أنة بوضع علامة فية يصبح مفعلا ووظيفة هذا الزر عند إختيارة هو تشغيل الملفات الصوتية المدرجة فى القائمة تشغيلا تسلسليا أى بفس الترتيب المدرج بة الملفات الصوتية فى القائمة .
9- زر على هيئة ما يسمى براديو بوتون أى أنة بوضع علامة فية يصبح مفعلا ووظيفة هذا الزر عند إختيارة هو تشغيل الملفات الصوتية المدرجة فى القائمة تشغيلا عشوائيا أى إختيار عشوائى لأى ملف صوتى دون التقيد بــــ الترتيب المدرج بة الملفات الصوتية فى القائمة .
10- هو عبارة عن إينبوت أو عنصر إدخال أو كتابة يمكن من خلالة تحديد مدى مستوى الصوت الذى يعمل فى قائمة الخلفية الصوتية عند تشغيلها و يكون على أقصى درجة بوضع إفتراضى وهو 255 و يمكن تغييرة بالكتابة المباشرة أو بالضغط على أحد الأسهم .
11- هو عبارة عن زر على هيئة مربع إختيارى يسمى بــ تشيك بوكس بوضع علامة فية يصبح مفعلا ووظيفتة هو التكرار فى حالة وضع علامة التفعيل
وللتنوية فهو عند تفعيلة يعمل على تكرار تشغيل ما هو موجود فى قائمة الملفا الصوتية بعد الإنتهاء تماما من ما هو موجود فى القائمة ككل .
:abc_087: طبعا بعد الإنتهاء من أى إعدادات لأى مربع حوار يتم الضغط على زر OK لتسجيل و حفظ ما تم .
:abc_012: إستعراض لجميع محتويات الكود أو السكريبت الخاص بهذا الأكشن :
Audio.GetCurrentPos
Audio.GetFilename
Audio.GetLength
Audio.GetOggTags
Audio.GetVolume
Audio.IsLooping
Audio.Load
Audio.Pause
Audio.Play
Audio.Seek
Audio.SetLooping
Audio.SetVolume
Audio.Stop
Audio.ToggleMute
Audio.TogglePlay
http://i.imgur.com/NfWIHC5.gif
أولا : " Audio.GetCurrentPos " :
يستعمل هذا الكود أو السكريبت للحصول على الموقف الحالى لما هو للصوت المشغل حاليا فى الخلفية أى الوضع الحالى للوقت فى زمن تشغيل الملف الصوتى و يكون بالثوانى
بمعنى أوضح نفترض أن المقطع الصوتى الذى يعمل مدتة هو مثلا 50 ثانية و نريد أن نعرف فى أى ثانية يعمل الآن الملف الحالى فهنا هو دور هذا الكود أو السكريبت السابق .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو الثاية الحالية من تشغيل الملف الصوتى الحالى
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو 1-
http://i.imgur.com/NfWIHC5.gif
ثانيا : " Audio.GetFilename " :
يستعمل هذا الكود أو السكريبت لإيجاد أو تحديد مسار و إسم و إمتداد الملف الصوتى الحالى .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو مسار و إسم و إمتداد الملف الصوتى الحالى
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو لاشيئ "" .
http://i.imgur.com/NfWIHC5.gif
ثالثا : " Audio.GetLength " :
يستعمل هذا الكود أو السكريبت للحصول أو لمعرفة طول الملف الصوتى الحالى بالثوانى بمعنى إجمالى طول الملف الصوتى الحالى .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو الطول الكلى بالثانية للملف الصوتى الحالى
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو 1-
http://i.imgur.com/NfWIHC5.gif
رابعا : " Audio.GetOggTags " :
يستخدم للإستعلام عن الأثر الكتابى للملف الصوتى الحالى أو بيانات الملف الصوتى الحالى و هو حقوق المنتج للملف الصوتى مثل عنوان أو الفيرجين للريماكس أو الألبوم والكثير من المعلومات التى تكتب بواسطة الشركات المنتجة للمقطع الصوتى وهنا وجب التنوية على أن هذا الكود يستعمل مع الملفات الصوتية ذات إمتداد ogg. فقط .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو عبارة عن مصفوفة أو جدول لمعلومات الملف الصوتى الحالى وهذا الجدول يكون كالتالى :
http://i.imgur.com/zRhMLUN.png
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو nil غير معروف .
http://i.imgur.com/NfWIHC5.gif
خامسا : " Audio.GetVolume " :
يستخدم هذا الكود أو السكريبت لمعرفة حجم الصوت الحالى للقناة السمعية الحالية التى يعمل فيها الملف الصوتى .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو رقم ما بين 0 و 255 على حسب الضبط الحالى لحجم صوت الملف الصوتى الحالى
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو 1-
http://i.imgur.com/NfWIHC5.gif
سادسا : " Audio.IsLooping " :
يستخدم لمعرفة حالة إستخدام خاصية تكرار الملف الصوتى فى حالة الملف الصوتى الواحد فقط أما فى حالة إستخدام أو تعيين مجموعة ملفات صوتية كما شرحنا سابقا
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
طبعا عند إستخدام هذا الكود أو السكريبت يكون هناك متغير يتم حفظ نتيجة الإستعلام فية
ففى حالة عدم وجود خطأ سوف يكون الريتيرن أو العائد أو الإرجاع للكود هو نتيجة إيجابية يعبر هنا بــــ true أو نتيجة سلبية يعبر عنها بــــ false على حسب الوضع الحالى للتكرار إذا كان مفعلا أو لا
أما عند حدوث خطأ ما يكون الريتير أو العائد أو الإرجاع للكود هو false
http://i.imgur.com/NfWIHC5.gif
سابعا : " Audio.Load " :
يستخدم لتحميل ملف صوتى وتشغيلة فى القناة السمعية المحددة ومع العلم فى حالة إستخدام هذا الكود يتم إلغاء القائمة المعدة مسبقا للملفات الصوتية إذا تم تحميل الملف الصوتى على نفس القناة السمعية
مكونات هذا الكود أو السكريبت هو عدد 4 باراميتر
أولا : Channel القناة السمعية التى يعمل فيها الملف الصوتى الحالى
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
ثانيا : Filename إسم الملف الصوتى المراد تشغيلة أو بمعنى أصح المسار الكامل للملف الصوتى المراد تحميلة و تشغيلة فى القناة السمعية .
مع وضع فى الإعتبار يمكن تشغيل الملفات الصوتية من صفحات الويب كمثال لتشغيل ملف صوتى :
" http://www.tvquranserver.com/download/Maher_1/001.mp3 "
ثالثا : PlayAutomatic هو عبارة عن إختيار لقيم بولينية " إما true وإما false " هذة القيمة التى تختار تعبر عن حالة التشغيل الأتوماتيكى للملف الصوتى الذى يتم تحديدة فعند الرغبة فى تشغيل الملف الصوتى بشكل أوتوماتيكى عقب تحميلة فى القناة السمعية المحددة يتم إختيار القيمة true
وفى حالة عدم الرغبة فى تشغيل الملف الصوتى بشكل أتوماتيكى عقب عملية التحميل للملف يتم إختيار القيمة false
وفى جميع الأحوال يجب أن نعرف أن طالما تم تحديد ملف صوتى وتحديد القناة السمعية فيمكن تشغيلة لاحقا كما سوف نوضح بالأكواد التالية فى الشرح .
رابعا : Loop هو عبارة عن إختيار لقيم بولينية " إما true وإما false " هذة القيمة التى تختار تعبر عن حالة التشغيل للملف الصوتى المحدد من ناحية هل سوف يتم تكرار عملية التشغيل بعد الوصول لنهاية الملف الصوتى ويتم التشغيل مرة أخرى بعد الإنتهاء ففى حالة إختيار القيمة true فإن التكرار للملف الصوتى المحدد يكون فى وضع فعال وعند إختيار القيمة false فإن عملية التكرار تصبح غير فعالة ولا يتم التكرار عقب إنتهاء الملف الصوتى المحدد فى القناة السمعية المحددة .
http://i.imgur.com/NfWIHC5.gif
ثامنا : " Audio.Pause " :
يستعمل لتوقيف تشغيل الملف الصوتى الحالى توقيفا مؤقتا يمكن بعدها بإستعمال كود التشغيل للإستكمال مرة أخرى من نقطة التوقف .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
تاسعا : " Audio.Play " :
يستخدم لتشغيل القناة السمعية المحددة بجميع محتواياتها من ملفات صوتية وأيضا يمكنة تشغيل الملف الصوتى المتوقف توقيفا مؤقتا بالكود السابق فى القناة السمعية المحددة .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
عاشرا : " Audio.Seek " :
يستخدم للتنقل بين أو فى شريط الوقت للملف الصوتى فى القناة السمعية المحددة
مكونات هذا الكود أو السكريبت هو عدد 3 باراميتر
أولا : Channel القناة السمعية التى يعمل فيها الملف الصوتى الحالى
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
ثانيا : SeekType ولتحديد نوعية الإنتقال أو التنقل على شريط الوقت للملف الصوتى فى القناة السمعية المحددة فيتم الإختيار بين ما هو موضح بالجدول التالى :
http://i.imgur.com/yT2ywKu.png
وفية نجد أن القيمة 0 أو SEEK_BEGINNING تعبر عن الإنتقال إلى نقطة بداية الملف الصوتى الحالى فى القناة السمعية المحددة .
وفية نجد أن القيمة 1 أو SEEK_END تعبر عن الإنتقال إلى نقطة نهاية الملف الصوتى الحالى فى القناة السمعية المحددة .
وفية نجد أن القيمة 2 أو SEEK_FORWARD تعبر عن الإنتقال إلى الأمام بالثوانى فى الملف الصوتى الحالى فى القناة السمعية المحددة وذلك عن طريق التحديد كما سوف يوضح بما هو تالى فى الشرح .
وفية نجد أن القيمة 3 أو SEEK_BACKWARD تعبر عن الإنتقال إلى الخلف بالثوانى فى الملف الصوتى الحالى فى القناة السمعية المحددة وذلك عن طريق التحديد كما سوف يوضح بما هو تالى فى الشرح .
وفية نجد أن القيمة 4 أو SEEK_SPECIFIC تعبر عن القيمة المراد الإنتقال بها أو إليها بالثوانى فى الملف الصوتى فى القناة السمعية المحددة و تستعمل و تكون فعالة فقط مع القيم 2 و 3 و 4
http://i.imgur.com/NfWIHC5.gif
الحادى عشر : " Audio.SetLooping " :
يستخدم لضبط الوضع للملف الصوتى من ناحية هى تريد تكرار تشغيلة عند الإنتهاء من تشغيلة أو عند وصولة لقطة النهاية أم لا تريد
مكونات هذا الكود أو السكريبت هو عدد 2 باراميتر
أولا : Channel القناة السمعية التى يعمل فيها الملف الصوتى الحالى
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
ثانيا : Looping هو الحالة المراد ضبطها لتشغيل التكرار للملف الصوتى فى القناة السمعية المحددة و ذلك عن طريق الإختيار بين القيم البولينية true أو false
ففى حالة الضبط أو إختيار القيمة true فسوف يتم التكرار عند وصول الملف الصوتى فى القناة السمعية المحددة لنهايتة و العكس سوف يتم إلغاء حالة التكرار عند إختيار القيمة false
:abc_087: وهنا وجب التنوية على أن التكرار يمكن أن يتم فقط مع الملفات الصوتية المدرجة فى المشروع فقط ولا يمكن مع الملفات الصوتية المرفوعة على سيرفيرات الويب .
http://i.imgur.com/NfWIHC5.gif
الثانى عشر : " Audio.SetVolume " :
يستخدم لضبط الوضع للملف الصوتى من ناحية هى تريد تكرار تشغيلة عند الإنتهاء من تشغيلة أو عند وصولة لقطة النهاية أم لا تريد
مكونات هذا الكود أو السكريبت هو عدد 2 باراميتر
أولا : Channel القناة السمعية التى يعمل فيها الملف الصوتى الحالى
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
ثانيا : Volume هو مستوى الصوت المراد ضبطه للقناة السمعية المحددة ويتم الإختيار أو الضبط فيما بين 0 و 255
http://i.imgur.com/NfWIHC5.gif
الثالث عشر : " Audio.Stop " :
ويستخدم لوقف تشغيل الملف الصوتى فى القناة السمعية المحددة.
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
الرابع عشر : " Audio.ToggleMute " :
ويستخدم لتبديل أو توقيف أو إغلاق أو كتم صوت القناة السمعية المحددة .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
الخامس عشر : " Audio.TogglePlay " :
ويستخدم لتبديل أو توقيف مؤقت أو تشغيل القناة السمعية المحددة .
مكونات هذا الكود أو السكريبت هو عدد 1 باراميتر فقط وهو Channel لإختيار القناة السمعية التى يعمل فيها الملف الصوتى الحالى وفى حالة تعاملنا بهذا الكود أو السكريبت عند إدراج الملفات الصوتية كما سبق شرحة فإن فى هذة الحالة تكون القناة السمعية هى " CHANNEL_BACKGROUND "
الجدول التالى يوضح وصف القنوات السمعية و أنواعها و إختصارات التعامل معها عند طريق الأرقام أو القيم لها :
http://i.imgur.com/1GfyK3j.png
http://i.imgur.com/NfWIHC5.gif
:abc_138: يمكن تحميــل الشرح من المرفقات فقد تم تحويلة إلى كتـاب بى دى إف :abc_138:
http://i.imgur.com/2GnNEXz.gif
http://i.imgur.com/Nz3B0Vj.gif