إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

جولة حول أكشن سكريبت 3 التعامل مع الصوت جزء 1

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • جولة حول أكشن سكريبت 3 التعامل مع الصوت جزء 1

    [frame="2 98"]



    بسم الله الرحمن الرحيم
    الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
    السلام عليكم ورحمة الله وبركاته




    التعامل مع الصوت



    نتطرق في هذا الدرس ان شاء الله الى كيفية التعامل مع الصوت من خلال الاكشن سكريبت 3 في برنامج الفلاش
    وسنحاول طبعا تبسيط الشرح لليتسنى لكى أخي الكريم استيعاب مبدا العمل في هذا الشأن ومعرفة مختلف الكلاسات
    وكيفية اضافتها للتحكم في الملف الصوتي .

    أنواع الكلاسات الخاصة بالتعامل مع الصوت


    flash.media.Sound
    classe Sound : هذا الكلاس مسؤول على تشغيل الملف الصوتي .

    flash.media.SoundTransform
    classe SoundTransform : هذا الكلاس مسؤول على تعديل الصوت (volume, balance) = (الدرجة والتوازن).

    flash.media.SoundChannel
    classe SoundChannel : هذا الكلاس مسؤول على النحكم في الصوت

    flash.media.LoaderContext
    classe LoaderContext : هذا الكلاس مسؤول على بيانات الملف الصوتي عند بداية التحميل وتأمينها

    flash.media.SoundMixer
    classe SoundMixer : هذا الكلاس مسؤول على التحكم الكامل لاي ملف صوتي بصدد التشغيل

    flash.net.NetConnection
    classe NetConnection : هذا الكلاس مسؤول على تحميل الملفات الصوتية بصيعة MPEG-4

    flash.net.NetStream
    classe NetStream : هذا الكلاس مسؤول على التعامل مع هاته الملفات الصوتية بصيغة MPEG-4


    استيراد ملف صوتي وتشغيله من المكتبة

    افتج برنامج الفلاش واضغط CTRL+R او من قائمة file اختر importe ثم importe to library حدد الملف الصوتي
    بعد ذلك افتح المكتبة اضغط على الملف بيمين الماوس واختر Properties ستفتح لك نافذة اضغط على التبويب Action Script
    فعل خيارExport For Action Script ومن خانة class اعطه اسم واضح وبدون مسافة وبدون تعقيد نأخذ على سبيل المثال
    كلمة aziz سيكون عليها التطبيق واضغط ok تظهر نافذة
    أخرى اضغط ok لاتهتم . ستلاحظ في المكتبة ان الملف الصوتي اصبح لديه اسم كلاس جديد وتابع لــــ sound class

    حدد الطبقة الأولى اضغط F9
    الان سنقوم بانشاء نسخة من هذا الكلاس وطبعا عملية الانشاء تكون بالدالة أوالمعامل new
    [HTML]
    var s1:aziz = new aziz();
    [/HTML]

    لاحظ هنا قمنا باشاء نسخة من الملف الصوتي باسم عزيز وخزناه في متغير باسم s1 " اقصد بها sound1 ملف صوتي رقم 1 "
    الان بكل بساطة نضيف أمر التشغيل لهذا الملف

    [HTML]
    s1.play();
    [/HTML]

    ويكون الكود لتشغيل الملف الصوتي كما يلي :

    [HTML]
    var s1:aziz = new aziz();
    s1.play();
    [/HTML]

    الوظيفة play(); تستقبل 3 معاملات وهي
    1 - startTime:Number بداية وقت التشعيل يكون بالثواني يعني احب المقطع يشتغل من الثانية 12 نكتب داخل القوسين 12000
    2- loops:int عدد مرات تكرار المقطع نكتب 1 او 2 او 3 الخ ...
    3- sndTransform:SoundTransform تحويل الصوت الجاري تشغيله " غير هامة "


    عرفنا الان كيف نشغل ملف صوتي فكيف سنتحكم في فيه ؟؟
    يكون ذلك عن طريق كلاس SoundChannel لذلك سنعرف متغير جديد من هذا الكلاس
    لنتمكن من خلاله من التحكم في الصوت الذي هو بصدد التشغيل ونضيف الى الكود السابق ليصبح

    [HTML]
    var s1:aziz = new aziz();
    var canalaziz:SoundChannel = s1.play();
    [/HTML]

    أرغب في ان يتم تشغل المقطع من الثانية 9 ويتم تكراره 2 اذن اضيف الرقمين بين قوسي الوظيفة play كما يلي

    [HTML]
    var s1:aziz = new aziz();
    var canalaziz:SoundChannel = s1.play(9000,2);
    [/HTML]

    الان نريد من المستخدم عندما يضغط بالماوس على المسرح يتم ايقاف الصوت سيكون الكود الكامل ما يلي :

    [HTML]
    var s1:aziz = new aziz();
    var canalaziz:SoundChannel = s1.play(9000,2);
    // المسرح سيستجيب لحدث الماوس وهو الضغط
    stage.addEventListener( MouseEvent.CLICK, stoppSon );
    function stoppSon ( pEvt:MouseEvent ):void
    { // ايقاف الصوت
    canalaziz.stop();
    }
    [/HTML]


    تشغيل ملف صوتي خارجي


    يتم تشغيل ملف صوتي خارجي بطريقتين متشابهتين سندرج الأسهل

    1 - افتح مجلد جديد بسطح المكتب اعطه اي اسم وضع فيه ملف صوتي أنا وضعت سورة الاخلاص رقم 112
    افتح مشروع جديد بالفلاش واحفظه داخل هذا المجلد حدد الطبقة الأولى افتح نافذة الاكشن والصق الكود وغير فقط رقم
    112 باسم الملف الصوتي الخاص بك لاتحذف امتداد الصوت

    [HTML]
    var mySound:Sound = new Sound();
    var myChannel:SoundChannel = new SoundChannel();
    mySound.load(new URLRequest("112.mp3"));
    mySound.play();
    [/HTML]

    عند تحميل وتشغيل الملف الصوتي الكائن أو كلاس sound يرسل عدة أحداث هي على النحو التالي :
    Event.COMPLETE حدث الانتهاء من تحميل الصوت
    Event.ID3 حدث معلومات الصوت المتوفرة وتعرف بـ ID3
    IOErrorEvent.IO_ERROR حدث عند حصول خطا في تحميل الصوت
    Event.OPEN حدث بداية تشغيل الصوت
    ProgressEvent.PROGRESS حدث اثناءعملية تحميل الصوت يعني قيمة octets

    سنقوم الان بتجربة هاته الاكواد لمزيد معرفتها اكثر
    احذف كامل الكود من نافذة الاكشن والصق الكود التالي وغير فقط اسم الملف الصوتي باسم الملف الخاص بك
    ولاحظ في نافذة المخرجات Output Pannel المعلومات .

    [HTML]

    // انشاء نسخة من كائن الوصت وتخزنه في متغير
    var mySound:Sound = new Sound();
    // تحميل الملف الصوتي
    mySound.load(new URLRequest("112.mp3"));
    // الاستماع لمختلف الأحداث المذكورة
    mySound.addEventListener( Event.OPEN, chargementDemarre );
    mySound.addEventListener( Event.ID3, informationsID3 );
    mySound.addEventListener( ProgressEvent.PROGRESS, chargementEnCours );
    mySound.addEventListener( Event.COMPLETE, chargementTermine );
    mySound.addEventListener( IOErrorEvent.IO_ERROR, erreurChargement );
    function chargementDemarre ( pEvt:Event ):void
    {
    trace("بدأ التحميل");
    }

    function informationsID3 ( pEvt:Event ):void
    {
    trace("معلومات ID3");
    }

    function chargementEnCours (pEvt:ProgressEvent ):void
    {
    trace("جاري التحميل : " + pEvt.bytesLoaded + " / " + pEvt.bytesTotal );

    }

    function chargementTermine ( pEvt:Event ):void
    {
    trace("انتهى التحميل ");
    }

    function erreurChargement ( pEvt:IOErrorEvent ):void
    {
    trace("خطاء في التحميل");
    }
    [/HTML]


    نواصل في الجزء الثاني ان شاء الله



    [/frame]

  • #2
    شكـــــــــــــرا ............... جزاك الله خيـــــــرا

    تعليق


    • #3
      جزاك الله خيرا أخانا عزيز على هذه الجولات

      أتمنى لك التوفيق

      تعليق


      • #4
        بارك الله فيك أخانا الفاضل عزيز

        دروس رائعة ماشاء الله

        جزاك الله خيرا ونحن نتابع معك بشوق كل جدديد

        تعليق


        • #5
          بسم الله الرحمن الرحيم

          تشرفت بحضوركم الكريم اخوتي
          أبو يوسف، أمير ، أبو همام

          جزاكم الله خيرا

          تعليق


          • #6
            طبقت على ملفات صوتية
            رابط تحميلها من هنا

            http://www.gulfup.com/?BLzDmD
            موضوع الاستدعاء الخارجى وقبلت

            ولكن عند استدعاء الملفات نفسها الى المكتبة
            تظهر هذه الرسالة


            تانى ملاحظة

            عند تطبيق هذا الكود
            الصوت لايعمل

            تعليق


            • #7
              بسم الله الرحمن الرحيم
              بالنسبة للصورة الثانية أين أمر تشغيل الملف
              mySound.play();

              تعليق


              • #8
                الاستفسار الأول : تمت اضافة الملفات الصوتية دون مشاكل في المرفقات ملف مفتوح
                الملفات المرفقة

                تعليق


                • #9
                  شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
                  موفق بإذن الله ... لك مني أجمل تحية . موفق بإذن الله ... لك مني أجمل تحية .

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة azizsoft مشاهدة المشاركة
                    الاستفسار الأول : تمت اضافة الملفات الصوتية دون مشاكل في المرفقات ملف مفتوح

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

                    تعليق


                    • #11
                      شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

                      تعليق


                      • #12
                        شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

                        تعليق


                        • #13
                          شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

                          تعليق


                          • #14

                            تعليق

                            مواضيع تهمك

                            تقليص

                            المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
                            المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
                            المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
                            المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
                            المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
                            يعمل...
                            X