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

التحكم في النغمات أو الأصوات

مغلق
بدأه محمد خليل أبو صلاح في 7 نوفمبر 2002 · 6 رد · 680 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا مبتديء في تعلم اللغة و مرت على فكرة عمل شيء سبيه بالأورج org و هي عمل ازرار كلوحة الاورج عند الضغط على زر تظهر نغمة معينة ..

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

و شكرا لكم ..

You can fly while you can touch the sky

#2

بسم الله الرحمن الرحيم

اخي العزيز محمد خليل ابو صلاح

في الحقيقة يشرفنا وجودك معنا في المنتدى

وإن شاء الله تستفيد منه وتفيد

على العموم بالنسبة لسؤالك

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

ومن ضمن هذه الكائنات الكائن TMediaPlayer الذي يأتي مع الدلفي ووضيفته هو قراءة الاصوات وعرض الافلام او الفيديو بالعموم وغيره

فطبعاً الطريقه السهله لك في تنفيذ برنامجك وهو استخدام هذا الكائن الذي ستجده في صفحة System من مفتش الكائنات بالدلفي

ومن ثم تقوم بعمل اصوات على حسب نوع او نغمة الزر في الأورج ومن ثم قراءة النغمة من المسار المحدد لها

والطريقه حسب التالي:

اولاً ضع الكائن TMediaPlayer الذي ستجده في صفحة System في مفتش الكائنات

ثم اعمل ازرة الأورج حسب ماتريد ووفر لها النغمات المناسبه

ثم اكتب هذا الأمر في كل زر :

MediaPlayer1.Close;

MediaPlayer1.FileName:='FileName';

MediaPlayer1.Open;

MediaPlayer1.Play;

طبعاً في مكان FileName حدد مسار النغمة وهكذا

هذه فكره مبسطه لبرنامجك

واذا واجهتك اي مشكله ارجوا كتابتها

وإن شاء الله ستجد الرد سواء مني او من الاعضاء

وتقبل اطيب تحياتي اخوك SUM

#3

شكرا لك على جهودك .. سأجرب الكود و ان شاء الله أحلها مع انني لم استوعب كثيرا لأنني يا دوب متعلم الأدوات .. بس ان شاء الله اسويها الليلة .. ;)

You can fly while you can touch the sky

#4

للأسف أخي قمت بعمل تلك الخطوات كما أشرت ..

أضفت مكون MediaPlayer و قمت بوضع الكود

بحيث ينفذ عند الحدث onClick و سمعت الصوت مرة واحدة

هو ملف صوت لملفات الميديا الخاصة بالويندوز .. بعدها ظهر الزر

و كأنه معمول له Disable .. أي أراه لكن دون قدرتي على

ضغطه ..

حاولت التحكم من خلال ال inspector و وجدت حقلا لتحديد اسم

الملف و قمت بتحديد مسار للملف لكن لم أر أي تعديل طرأ على الإجرائية procedure

الخاصة بهذا المكون mediaPlayer .. فما المشكلة ؟؟

اذا باختصار مشكلتي هي هل استطيع ادراج الازرار من ال inspector و أنا

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

فالطريقة التي اشتغلت لمرة واحدة كانت من خلال ال inspector ..

و استفسار بخاصية تحديد نوع الملف هل هو wav - avi -dat أو غيرها

هل ضروري تحديد النوع أم يأخذ افتراضا و ماذا أختار لملفات ال midi إن كان يجب التحديد

حيث أنها غير موجودة ؟؟

أيضا كيف أحافظ على بقاء الزر active لأنني ربما أضغط على نفس الزر أكثر من مرة ؟؟

و هل هناك نغمات تكتب عن الطريق الكود لا المكونات مثل نظام ال beep أو ما يشابهه

في البيسك العادية مثلا ؟؟

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

MediaPlayer1.Close;

MediaPlayer1.FileName:='FileName';

MediaPlayer1.Open;

MediaPlayer1.Play;

أي close أول شيء ,, فلم فعلت ذلك ؟؟ و كيف يمكن أن اجعل الكود هو الفعال لا ال inspector

الذي يعدل عليه بحيث اكتب الكود مباشرة ؟؟

و أخيرا أقول لكم شكرا لجهودكم الطيبة و بارك الله لكم و جزاكم كل خير عني ..

You can fly while you can touch the sky

#5

الحمد لله تمت العملية بنجاح .. اكتشفت المشكلة و هي لأنني أول مرة أتعامل مع ال mediaPlayer

ظننت أنه هو الزر الذي نضغطه و استغربت لانه ينفذ مرة واحدة .. و بقليل من التفكير اليوم خطرت ببالي فكرة

و هي أن أقوم بعمل أزرار منفصلة (و هذا للأسف ما لم توضحه لي لأنني قلت انني مبتديء ) و قمت باستدعاء الكائن

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

فمثلا يا أستاذي العزيز قمت بعمل mediaplayer1.close بالأول ثم قمت بفتحه مرة اخرى للتأكد من أن

ال mediaplayer غير شغال أو يعيد تشغيله ان كان شغال ..

على العموم بداية خير و ان شاء الله أستمر معكم ..

You can fly while you can touch the sky

#6

السلام عليكم

اذا كنت لا تحبذ استعمال Components يمكن لك استعمال MCI Functions . اعتقد انك استعملتها مع فيجوال بيسك من قبل ؟

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#7

يا سلام .. حلو كتير هال الحكي ...

يا ريت بقا احد الي بيعرفو عن استعمال MCI Functions

اكتر

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

تحياتي

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

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