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

ممكن طريقة دمج ملف صوتي بالمشروع

مغلق
بدأه matrixyb في 22 يناير 2007 · 11 رد · 3,572 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا طرحت في الامس عدة اسالة في موضوع واحد

لكن الموضوع قد اغلق بسبب ان الموضوع يحتوي على 4 اسئلة و المفروض انه يكون سؤال واحد

ما علينا

المهم كان ضمن هذه الاسئلة

انا عندي ملف MP3 ابغا اخزنه في المشروح بحيث اذا ضغطت على زر يطلع الصوت مو يربطه في ملف app.path لا ابغا يكون مدموج مع البرنامج

و انا بحث كثير في المنتدى ولقيت مواضيع Resource Editor وكيف تربط ملف الصوت بها

لكن ما عرفت ولا شئ منها

و الاخوان كانوا يشرحوا بصورة عامة يعني يعطي نبذه و كود واحد

انا ابغا طريقة حفظ ملف mp3 في Resource Editor و طريق استدعاءة و تشغيله باداة msdxm.ocx بالتفصيل الممل لو سمحتم

وشكرا

Matrixyb3D.jpg

في يوم من الايام قال Matrixyb

" فكر في طريقة حماية لبرامجك و فكر اذا انت واجهتها كيف ممكن تكسرها اذا لقيت طريقة لكسرها دور طريقة حماية اخرى "

#2

الأخ الفاضل ...

قم بتشغيل VB وإنشئ مشروع جديد وقم بحفظه بأسم مثلاً (PlayMP3)

ثم أضف إلية إمكانية تحرير الموارد (Resource Editor) كالتالى:

1) من قائمة (Add-Ins) أختار (Add-Ins Manager...) كما هو موضح

001.jpg

2) أختار (VB6 Resource Editor) وأختار كل من ( Load on Startup و Load/Unload ) كما هو موضح

002.jpg

3) ستلاحظ ظهور أيقونة (VB Resource Editor) كما هو موضح

003.jpg

ثم أضف (أنشاء) ملف موارد (Resource File) للمشروع

4) من قائمة (Project) أختار (Add New Resource File) كما هو موضح

004.jpg

5) فى ملفات المشروع ستلاحظ ظهور (Related Documents) وتحتوى على ملف الـ(Resouce) الذى تم إنشائه كما هو موضح

005.jpg

6) أضغط عليه مرتين بالفارة (Double Click) ستظهر نافذة (VB Resource Editod) كما هو موضح

006.jpg

7) أضغط على رمز (Add Custom Resource) "الرمز قبل الأخير (قبل علامة الاستفهام)"

8) أختر ملف (MP3) الذى تريد أضافتة للمشروع ثم (Open) "غالباً سوف يأخذ الرقم 101"

9) أضغط عليه مرتين بالفارة (Double Click) فى حالة الرغبة فى تغير ال (Id) أو (Type) لـ "MP3" بدلاً من "CUSTOM" مثلاً

هكذا نكون قد أرفقنا ملف MP3 كمورد (Resource) داخل ملف Exe

ولكن للأسف هناك مشكلة فالأداة (MediaPlayer) لا تستطيع التعامل مع بيانات الـ(Resource) مباشرتاً، وللدوران حول هذه المشكلة نقوم بحفظ الملف كملف مؤقت فى الـ(Temp) وتشغيله ثم حذفه لاحقاً

عند تحميل الملف:

نحصل على الفهرس المؤقت:

GetTempPath(300, MP3File)

نقوم بإضافة أسم ملف مؤقت (.mp3) للفهرس:

MP3File = MP3File & "~tmp3" & CLng(Rnd * 1000) & ".mp3"

نقوم بتحميل الملف من الـ(Resource) وحفظ محتوياتة فى متغير:

Sound = LoadResData(101, "MP3")

نقوم بحفظ الملف على القرص الصلب:

Open MP3File For Binary As 1
	Put #1, , Sound
Close #1

وبالتالى يكون كود التحميل كالتالى:

Private Sub Form_Load()
	Dim l As Long
	Dim Sound() As Byte

	MP3File = Space(301)

	' الحصول على فهرس التخزين المؤقت
	l = GetTempPath(300, MP3File)
	If l Then
		' محاولة الحصول على أسم ملف فريد
		Randomize
		MP3File = Left$(MP3File, l)
		MP3File = MP3File & "~tmp3" & CLng(Rnd * 1000) & ".mp3"

		' تحميل من الموارد
		Sound = LoadResData(101, "MP3")

		' حفظه على القرص الصلب
		Open MP3File For Binary As 1
			Put #1, , Sound
		Close #1
	End If
End Sub

عند إنهاء البرنامج نحاول حذف الملف المؤقت:

Private Sub Form_Terminate()
	If Len(MP3File) Then DeleteFile MP3File
End Sub

للتشغيل:

Private Sub cmdPlay_Click()
	If Len(MP3File) Then MediaPlayer.Open MP3File
End Sub

للإقاف:

Private Sub cmpStop_Click()
	MediaPlayer.Stop
End Sub

أرجوا أن يكون هذا هو المطلوب وأن يفيدك هذا المثال فى ما تريد إنجازه

بأستخدام (MS-VB 6.0)

PlayMP3.zip

وشكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#3

مشكور يا اخ Eng. Usama El-Mokadem

والله انك افدتني كثير و شكراا لك

و عندي سؤال ثاني بخصوص Resource Editor اذا ما في ازعاج

انا عندي البرنامج وربطة في ال Resource Editor زي ما لقت

و عندي صورة كيف احفظ الصورة على الجهاز في مكان معين انا يحدده المستخدم

يعني صورة تنعرض صغيرة واذا يبغا الشخص ينزل الصورة يضغط عليها و يححد المكان وتنزل عنده الصورة الموجودة في Resource Editor وشكرا

Matrixyb3D.jpg

في يوم من الايام قال Matrixyb

" فكر في طريقة حماية لبرامجك و فكر اذا انت واجهتها كيف ممكن تكسرها اذا لقيت طريقة لكسرها دور طريقة حماية اخرى "

#4

الأخ الفاضل ...

دائماً على الرحب والسعة ،

للتعامل مع الصورة يمكنك أستخدام نفس المثال السابق مع بعض التعديلات:

لعرض الصورة أستعمل LoadResPicture بدلاً من LoadResData

ولحفظ الصورة - أحفظها فى المكان الذى يحددة المستخدم بدل من حفظها فى الـ(Temp) وحذفها "طبعاً بالامتداد المناسب"

ويمكنك استخدام CommonDialog لتسهيل أختيار الملف

وشكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#5

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

والله الموفق

وممكن تستخدم اخي في حفظ الصورة الي مكان ما الامر التالي :

SavePicture(picturebox1.picture,"c:\testimage.jpeg")

حيث تم في الكود لاسابق هو حفظ الصورة الموجود داخل التكست بوكس في محرك الاقراص السي c:

عفوا الموجود في البكتشر بوكس

#6

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

وجعلها الله في موازين حسناتكم يوم الحساب

وشكرا

Matrixyb3D.jpg

في يوم من الايام قال Matrixyb

" فكر في طريقة حماية لبرامجك و فكر اذا انت واجهتها كيف ممكن تكسرها اذا لقيت طريقة لكسرها دور طريقة حماية اخرى "

#7

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

بس ممكن طريقة ادارج الصوت لانى مو فاهم طريقة الدمج

وكيف احدد الملف الصوتي المطلوب وشكرا

تم تعديل هذه المشاركة بواسطة al.safer في 2 فبراير 2007 في 17:16

#8

هذا الكدود لتشغيل الصوت

ضع هذا الكود في مديول:

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _

(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

ثم ضع هذا الكدود فى الفورم:

Private Sub Form_Load()

'replace c:\music\myfile.wav with the WAV file you want to play

sndPlaySound "c:\music\myfile.wav", 1

'the '1' following the file means that the program should not stop to play the file.

'The sound will play and other events can be happening.

'If you want the whole program to stop while the sound is playing, just change the '1' to '0'.

End Sub

av-83656.jpg

600x600.gif

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

راسلنى على

osa3_12@yahoo.com

#9

الأخ الفاضل ...

اقتباس
بس ممكن طريقة ادارج الصوت لانى مو فاهم طريقة الدمج

وكيف احدد الملف الصوتي المطلوب وشكرا

الطريقة (كما موضح) تعتمد على تشغيل ملف صوت من الـ(Resources)، أى يكون فى النهايه ملف واحد (exe) يحتوى داخله ملف الصوت، ويستطيع تشغيله.

يتم تحديد ملف الصوت فى الخطوة رقم (8)

كذلك أستخدام الأداة msdxm.ocx ليس فقط يعطيك إمكانية تشغيل ملفات الصوت بأغلب أنواعها (MP3 - WAV - MID - ...etc)

كذلك يمكنك تشغيل ملفات الفيديو (MPG - WMA - AVI - ...etc)

وشكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#10

بارك الله فيك لقد أفدتنا كثيراً

الحقيقة يعجز اللسان عن شكرك أخي الكريم

#11
اقتباس
ممكن طريقة دمج ملف صوتي بالمشروع

سؤال : ممكن طريقة استخراج الملفات المدموجة بالمشروع ؟؟؟؟

#12

الأخ الفاضل ... أحمد الرفاعى

بارك الله فيك، وشكراً كثيراً على كلماتك، وتمنياتى لك بالتوفيق

الخ الفاضل ... المبرمج نور

نعم يمكن أستخراج الملف المدموج، فالكود التالى يقوم بأستخراج البيانات من الـ(Rssource) وحفظها كملف فى (MP3File)، فمثلاً لو أحتجت حفظ الملف على القرص :C بأسم Data.fil ، فخصص أسم الملف لهذا المتغير ("MP3File="C:\Data.fil)

Open MP3File For Binary As 1
	Put #1, , Sound
Close #1

وشكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

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

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