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

تعلم كيف تضبط صوت الجهاز

مغلق
بدأه أبو ديلفي في 17 يناير 2003 · 7 رد · 7,274 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وفي حال لم نكن نستخدم ميديا بليير , ماهي الطريقة أيضا لضبط حجم الصوت الصادر من الجهاز :

.....

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

كيف نقوم بذلك :

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

1- أضف الوحدة MMSys إلى مجموعة الوحدات التي يستخدمها برنامجك . "أعلى الشفرة بعد عبارة Uses "

2- استخدم التابع waveOutSetVolume في أي مكان من الشفرة تريدة

مثال : (waveOutSetVolume(0,$FFFFFFFF سوف يرفع حجم الصوت إلى الأخير

القيم ممتدة من $00000000 حتى $FFFFFFFF

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

ملف توضيحي مرفق مع الشفرة :

الحجم 203 كيلو بايت

مضغوط باستخدام Winzip

قم بتشغيل أي برنامج صوتي مثل JetAudio WinAmp Mediaplayer أو أي برنامج اخر . ثم تحكم بالصوت من برنامجنا المستقل .

volume.zip

#2

شكرا لك يا صديقي أبو الديلفي

على هذه الفوائد الكبيرة

و أرجو أن تستمر في تقديم فوائدك هذه

و الى اللقاء

صديقتك كارمن;)

#3

شكـــــرا ...أبو الدلفي...لك مني واحدة غير شكل قريباً;)

#4

شكرأ لك أخي أبو ديلفي

و أود أن أضيف أن القيم الممتدة من $00000000 حتى $FFFFFFFF

تنقسم إلى قسمين

فعدد المنازل لهذا الرقم هو 8 و بالتالي

4 للقناة اليمينية و 4 للقناة اليسارية

فمثلاً نود أن نضع الصوت في القناة الأولى على أعلى قيمة و نريد

أن نخفي صوت القناة (أو البفل) الآخر :

(waveOutSetVolume(0,$FFFF0000

أو

(waveOutSetVolume(0,$0000FFFF

أخوك PLANSHARP

:)

#5

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

مو معلمية عليك ..أخي أبو الدلفي ..ولكن أردت أن أضيف سحر اً

لجمال اللغة من ناحية المظهر ....فهاك هــــو مشروعك بنظرة آخــرى

يرجى ان ينال اعجابك

أخــــــــــوك DELPHI_ FOX

sound.zip

#6

.... شكرا لك يا كارمن أتمنى أن أبقى عند حسن ظنك .

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

لا تنسى سيدي الدلفي سبعة معك الأثنين ...

شكرا جزيلا يا صديقي Fox_Delphi على هذا البرنامج الظريف . لا تهتم لدي ثقة كبيرة بإمكانيتك على إضافة سحر و رونق خاص على برامج الديلفي ,,

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

.... تحياتي للجمــيع ....

S o f t M a s t e r . O r w a

#7

شــكرا يا أخي أبو ديلفي

صديق جديد :D:D:D

#8

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

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

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