الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال:كيف أشغل صوت ب vb.net ؟

مغلق
بدأه eias في 21 سبتمبر 2005 · 12 رد · 993 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...سألت السؤال سابقا ولكنكم لم تجيبوني ..كيف أشغل صوت من داخل الVB.NET .موجود مثلا في مسار

البرنامج..

وشكرا

تم تعديل هذه المشاركة بواسطة crazy-man في 24 سبتمبر 2005 في 03:58

#3

دي يا أخ اياس دالة API تشغل ملفات الـ Wav قمت بتغليفها في صوره Class ان شاء الله تفيدك ...,,,

Multimedia Class.rar

تم تعديل هذه المشاركة بواسطة hazzoom في 23 سبتمبر 2005 في 16:39

#4

أخي الكريم hazzoom من الأشياء التي لم أتقنها بعد في Vb.net هو استخدام الClasses هذه يعني الحقيقة لم اعرف كيف سأتعامل معها..ممكن مثال..

و هل أستتطيع تشغيل ملف MIDI..

وشكرا لك

#5

أخي الكريم hazzoom الرجاء الشرح لم اعرف التعامل مع هذا ال class اما اخي eias ضع الكود في موديل اظن انك تعرف التعامل مع الموديل اظن انه سوف يعمل ان شاء الله

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

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

ranneh.com

#6

أخواني الأعزاء الموضوع بسيط جدا ان شاء الله , و قبل أي شئ أرجو قراءة الدرس التالي :

Classes in VB.NET

ان شاء الله تكون فهمت يعني ايه كلاس وكيف تتعامل معها بعد قراءتك للدرس السابق ولماذا أفضل أستخدام الكلاس وليس الـ Module ...,,,

الآن نشرح الكود , أفترض أنك تعرف كيفية التعامل مع دوال الـ API (أنا لا أفقه فيها شئ) ,

أولا نعلن عن دالة الـ API وهي :

 Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

ثم نعلن عن الـ Parameters الخاصه بالدالة ولكن في صورة Enumeration حتي نستطيع التعامل معها بسهوله عن طريق الدالة التي سننشئها الآن ,,,

ننشئ دالة هي عباره عن تغليف لدالة الـ API حتي يصبح التعامل معها سهل ...,,,

 Public Function Playwav(ByVal File_path As String, ByVal Play_mode As modes) As Integer

هذه الدالة التي أنشأناها اسمها Playwav وتأخذ 2 Parameter هما File_path من النوع String وهو عباره عن مسار الملف المراد تشغيله , الـ Parameter الثاني هو طريقة التشغيل (تشغيل و ايقاف وتشغيل مستمر و.....) وهو من من النوع Mode وهو عبارة عن الـ Enumeration الذي قمنا بانشاؤه ...,,,

ثم تعود الداله بقيمه من النوع Integer حتي نعرف ان تمت العمليه بشكل سليم أم لا .. وهذا شئ يرجع لك أي أنه اختياري ...,,,

ثم نضع بلوك لـ If به الدالة التي تقوم بتشغيل الملف فاذا تمت العمليه بنجاح فترجع الدالة بالقيمه 1 وان لم تتم بنجاح ترجع الدالة بالقيمة صفر ...,,,

أظن أن العمليه أصبحت واضحه , وان كان هناك تقصير فسامحني لأني مريض ورأسي سوف تنفجر , وان وجدت شئ لم تفهمه أسأل مره أخري وأرجو أن تراجع الكود مره أخري ...,,,

#7

شكراً اخي حزوم

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

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

ranneh.com

#8

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

#9

الســلام عليــكم..

اخي الكريم hazzoom اول شيء نتمنا لك الشفاء....

الحقيقة أنا كودت لقيت فيه بعض المشاكل..أولا ما هي هذه ال Enum أنا أول مرة أرى هذا الكائن..ما هو وهل ال

Normal_Play و ال Freezed_Play و غيرها هي أشياء جاهزة تابعة للمكتبةwinmm.dll ولماذا اعطيتها هذه الأرقام

بالذات.و ممكن استعمال ال ret كان غير واضح شوية..و هل ممكن أستعمل الكود لفتح ملفMIDI بنفس المكتبة.

شوف المشكلة :

Playwav("c:\1.midi", 1)

لايعمل

و عندي سؤال أخير الكود اشتغل معي 100% بس عند كود الStop لا بد من ذكر الملف المفتوح كالتالي:

Playwav("d:\lo.wav", 5)

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

كان مكانه ..و شكرا لك.و أرجو ان تعذرني إذا أثقلت عليك.

و شكرا لك

#10

وعليكم السلام يا أخ اياس :

ان شاء الله مفيش مشاكل وكله يبقي تمام ان شاء الله ...,,,

أول نقطه هي الـ Enumeration وأنا متأكد أن الجميع يستعملها دائما !!!

بكل بساطه أنظر للصوره التاليه لأن الصور توضح كثيرا :

24_09_05_03_36_24_1127601384enum.jpg

عندما تستعمل دالة msgbox تأخذ الـ Parameter من النوع String ويكون الـ Parameter الثاني من النوع Enumeration والتي يتم تصميمها كما سبق علي الشكل التالي :

    Enum modes
        Normal_Play = 1
        Freezed_Play = 0
        Play_Loop = 9
        Stop_and_Play = 8
        Stop_Playing = 5
    End Enum

وأنا أيضا لم أعرفها الا منذ فتره صغيره في الموضوع التالي :

كيف يمكن تمرير هذه العناصر الي الداله

أما بالنسبه لما كتبته داخل الـ Enumeration فأنا الذي قمت باختيار الكلمات لكي تدل علي معني الرقم وهذه الأرقام ثوابت تقوم بالوظيفه التي كتبتها ويمكنك كتابة أي كلام تفضله ولكن من المفروض أن يدل علي تأثير الرقم الثابت , وجرب أن تغير النص أو الرقم وأنظر النتيجه بنفسك ,,,

أما بالنسبه للـ ret :

من خواص الدوال عند كتابتها ( تصميما وليس استخداما ) أن تعود الداله بقيمه ما وهذا شئ خياري يرجع للمبرمج فما فائدة الـ Return ؟

مثلا بفرض أنك قمت بتصميم داله تجمع رقمين فكيف تحصل علي ناتج الجمع ؟ تحصل عليه عن طريق الـ Return !!! وهو متغير تقوم بتخزين قيمة ما فيه ويمكنك استخدامه من خلال الكود ...,,,

بالنسبه عند عمل Stop فأنا قلت لك أن الدالة تأخذ 2 Parameter الأول هو مسار الملف والثاني هو أحد عناصر الـ Enumeration لذلك يجب تمرير مسار الملف أما بالنسبه لأيقاف الصوت مهما كان فحاليا لا أعرف للأسف ولكن سوف أحاول ,,,

والدالة لا تشغل الا ملفات الـ Wave علي حد علمي (أجهل من دابه في الـ API ),,,

وان شاء الله تكون اتضحت الأمور وان كان هناك غموض حول تصميم الدالة فذلك لأن دماغي سوف تطير وباذن الله عندما أخف سوف أضع درسا حول الدوال والـ Overloading ومثال علي الـ API Wrapping ...,,,

تم تعديل هذه المشاركة بواسطة hazzoom في 25 سبتمبر 2005 في 01:35

#11

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

أنا عملت Enum و ضفت له أسماء بس لم يأخذ أي اوامر ..يعني أنت كيف أضفت أوامر لعناصر ال Enum الي صنعته ..

#12

يا أخ اياس الأرقام أو الثوابت في الـ Enumeration هي الأوامر فهي من معاملات دالة الـ API التي تشغل ملفات الصوت ..., وصلت ولا لسه !!!

هذا الموضوع مغلق.

مواضيع مشابهة