استفد من قوة Python وأنشئ مشغل الموسيقى الخاص بك باستخدام وحدتي PyGame & Tkinter.

تطورت مشغلات الموسيقى بسرعة مع مرور الوقت. بدأ مع Gramophones و Jukeboxes ومشغلات الأقراص المضغوطة ومشغلات MP3. اليوم ، يمكنك الاستماع إلى الموسيقى على هاتفك المحمول أو الكمبيوتر نفسه. لاستكشاف هذا المفهوم بالذات ، قم بتطوير تطبيق مشغل موسيقى باستخدام Python و groove off.

وحدة Tkinter و PyGame و OS

لإنشاء مشغل الموسيقى ، تحتاج إلى وحدة Tkinter و PyGame و OS. Tkinter هي مكتبة GUI القياسية لـ Python التي يمكنك استخدامها لإنشاء تطبيقات سطح المكتب. إنه يوفر مجموعة متنوعة من الأدوات مثل الأزرار والتسميات ومربعات النص حتى تتمكن من تطوير التطبيقات في أي وقت من الأوقات. لتثبيت Tkinter ، افتح Terminal وقم بتنفيذ:

نقطة تثبيت tkinter

باستخدام PyGame ، يمكنك تطوير ألعاب فيديو مذهلة يمكن تشغيلها على أي منصة. إنه سهل الاستخدام ويأتي مع مكتبات رسوم وصوت لجعل عملية التطوير أسرع. سوف تستخدم PyGame's خلاط موسيقى وحدة لتوفير وظائف مختلفة لمشغل الموسيقى الخاص بك. لتثبيت PyGame ، قم بتنفيذ:

نقطة تثبيت pygame

أخيرًا ، أنت بحاجة وحدة نظام التشغيل

instagram viewer
لتحميل الأغاني في نظامك. تأتي وحدة نظام التشغيل مع مكتبة Python القياسية ولا تحتاج إلى تثبيت منفصل. باستخدام هذه الوحدة ، يمكنك الوصول إلى الوظائف الخاصة بالنظام للتعامل مع نظام التشغيل الخاص بك.

كيفية بناء مشغل موسيقى باستخدام بايثون

يمكنك العثور على الكود المصدري لتطبيق Music Player باستخدام Python في هذا مستودع جيثب.

ابدأ باستيراد الوحدات النمطية Tkinter و PyGame و OS. تحديد فئة ، مشغل الموسيقى. عرّف ال __فيه__ المُنشئ الذي يستدعيه البرنامج في وقت إنشاء الكائن. يمكنك استخدام المثال الذات للوصول إلى أي متغيرات أو طرق داخل الفصل.

قم بتهيئة نافذة الجذر ، واضبط عنوان مشغل الموسيقى وأبعاده. قم بتهيئة جميع وحدات PyGame المستوردة جنبًا إلى جنب مع وحدة المزج. تعيين المسار والحالة لتكون StringVar يكتب. باستخدام هذا ، يمكنك تعيين قيمة نصية واستردادها عند الحاجة.

من tkinter يستورد *
يستورد القزم
يستورد نظام التشغيل

فصلمشغل الموسيقى:

def__فيه__(النفس ، الجذر):
self.root = الجذر
self.root.title ("مشغل الموسيقى")
علم الهندسة الجذور الذاتية ("1000 × 200")
pygame.init ()
pygame.mixer.init ()
self.track = StringVar ()
self.status = StringVar ()

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

استخدم ال مكان() طريقة لتنظيم الإطار. تحديد تسميتين ، اغاني و المسار. قم بتخصيصها واستخدم ملف شبكة() مدير لتنظيمها في شكل صفوف وأعمدة. يمكنك ضبط مسار الأغاني ليكون موجودًا في الصف الأول وإضافة بعض الحشو لتجنب التداخل وجعل التصميم أكثر جمالًا.

 trackframe = LabelFrame (self.root ، text ="أغنية المسار"، الخط = ("أريال",15,"عريض") ، bg ="# 8F00FF"، fg ="أبيض"، bd =5، الإغاثة = GROOVE)
trackframe.place (x =0، ص =0العرض =600الارتفاع =100)
Songtrack = Label (إطار المسار ، textvariable = self.track ، العرض =20، الخط = ("أريال",24,"عريض") ، bg ="# 8F00FF"، fg ="# B0FC38") .grid (row =0، العمود =0، بادكس =10، pady =5)
trackstatus = التسمية (إطار المسار ، textvariable = self.status ، الخط = ("أريال",24,"عريض") ، bg ="# 8F00FF"، fg ="# B0FC38") .grid (row =0، العمود =1، بادكس =10، pady =5)

وبالمثل ، حدد إطارًا يحتوي على أربعة أزرار. قم بتخصيصه وتنظيمه أسفل إطار المسار. تحديد أربعة أزرار ، يلعب, يوقف, غير وقفة، و قف. اضبط النافذة الأصلية التي تريد وضع الأزرار فيها ، والنص الذي يجب أن تعرضه ، ووظائفها عند النقر فوقه ، يجب تنفيذ العرض والارتفاع ونمط الخط ولون الخلفية ولون الخط يجب ان.

استخدم ال شبكة() مدير لتنظيم الأزرار في صف واحد وأربعة أعمدة مختلفة.

 buttonframe = LabelFrame (self.root ، نص ="لوحة التحكم"، الخط = ("أريال",15,"عريض") ، bg ="# 8F00FF"، fg ="أبيض"، bd =5، الإغاثة = GROOVE)
buttonframe.place (x =0، ص =100العرض =600الارتفاع =100)
playbtn = زر (إطار زر ، نص ="يلعب"، الأمر = self.playsong ، العرض =6الارتفاع =1، الخط = ("أريال",16,"عريض") ، fg ="الأزرق الداكن"، bg ="# B0FC38") .grid (row =0، العمود =0، بادكس =10، pady =5)
playbtn = زر (إطار زر ، نص ="يوقف"، الأمر = self.pausesong ، العرض =8الارتفاع =1، الخط = ("أريال",16,"عريض") ، fg ="الأزرق الداكن"، bg ="# B0FC38") .grid (row =0، العمود =1، بادكس =10، pady =5)
playbtn = زر (إطار زر ، نص ="إلغاء الضغط"، الأمر = self.unpausesong ، العرض =10الارتفاع =1، الخط = ("أريال",16,"عريض") ، fg ="الأزرق الداكن"، bg ="# B0FC38") .grid (row =0، العمود =2، بادكس =10، pady =5)
playbtn = زر (إطار زر ، نص ="قف"، الأمر = self.stopsong ، العرض =6الارتفاع =1، الخط = ("أريال",16,"عريض") ، fg ="الأزرق الداكن"، bg ="# B0FC38") .grid (row =0، العمود =3، بادكس =10، pady =5)

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

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

 songsframe = LabelFrame (self.root ، نص ="قائمة تشغيل الأغاني"، الخط = ("أريال",15,"عريض") ، bg ="# 8F00FF"، fg ="أبيض"، bd =5، الإغاثة = GROOVE)
الأغانيframe.place (x =600، ص =0العرض =400الارتفاع =200)
scroll_y = شريط التمرير (إطار الأغاني ، المشرق = عمودي)
self.playlist = مربع القائمة (إطار الأغاني ، yscrollcommand = scroll_y.set ، selectbackground ="# B0FC38"، selectmode = SINGLE ، font = ("أريال",12,"عريض") ، bg ="# CF9FFF"، fg ="الأزرق الداكن"، bd =5، الإغاثة = GROOVE)

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

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

 scroll_y.pack (الجانب = اليمين ، ملء = Y)
scroll_y.config (الأمر = self.playlist.yview)
self.playlist.pack (ملء = كلاهما)
os.chdir ("Path_to_your_songs_folder")
Songtracks = os.listdir ()
ل مسار في مسار الأغاني:
self.playlist.insert (النهاية ، المسار)

تحديد وظيفة ، تشغيل الأغنية. اضبط المسار لعرض اسم الأغنية مع الحالة كـ -تلعب. استخدم ال حمولة() و يلعب() وظائف وحدة mixer.music الخاصة بـ PyGame لتحميل الموسيقى للتشغيل وبدء تشغيلها.

defتشغيل الأغنية(الذات):
self.track.set (self.playlist.get (نشط))
self.status.set ("-تلعب")
pygame.mixer.music.load (self.playlist.get (نشط))
pygame.mixer.music.play ()

وبالمثل ، حدد وظائف لإيقاف ، وإيقاف وإلغاء إيقاف الأغاني التي تستخدم قف(), يوقف()، و إلغاء وقفة ().

defتوقف(الذات):
self.status.set ("-توقفت")
pygame.mixer.music.stop ()

defوقفة(الذات):
self.status.set ("-موقف مؤقتًا")
pygame.mixer.music.pause ()

defدون توقف(الذات):
self.status.set ("-تلعب")
pygame.mixer.music.unpause ()

قم بتهيئة مثيل Tkinter وعرض نافذة الجذر بتمريرها إلى الفئة. ال mainloop () تخبر الوظيفة Python بتشغيل حلقة حدث Tkinter والاستماع إلى الأحداث حتى تغلق النافذة.

الجذر = Tk ()
MusicPlayer (الجذر)
root.mainloop ()

ضع كل الشفرات معًا ، وسيكون لديك مشغل الموسيقى جاهزًا للتشغيل في متناول يدك. يمكنك تخصيص مشغل الموسيقى الخاص بك إلى أبعد من ذلك إضافة كائنات وأشكال باستخدام وحدات الرسم في PyGame.

إخراج تطبيق مشغل الموسيقى باستخدام بايثون

عند تشغيل البرنامج ، يقوم مشغل الموسيقى بتشغيل الأغاني التي حددتها كقائمة تشغيل. عند اختيار أي من الأغاني وضرب يلعب زر ، يبدأ تشغيل الموسيقى. وبالمثل ، تتوقف الموسيقى مؤقتًا ، وتوقف مؤقتًا ، وتتوقف عن اللعب بنقرة الأزرار المناسبة.

بناء الألعاب باستخدام وحدة PyGame

PyGame هي وحدة نمطية قوية يمكنك استخدامها لبناء ألعاب مثل Frets on Fire و Flappy Bird و Snake و Super Potato Bruh و Sudoku والمزيد. تتميز PyGame بتصميم موجه للكائنات ، بحيث يمكنك إعادة استخدام الرموز وتخصيص شخصيات ألعابك بسهولة.

إنه يدعم ويوفر أدوات رسومات وأصوات وإدخال وإخراج رائعة ، بحيث يمكنك التركيز على تصميم لعبتك بدلاً من استثمار وقتك في الترميز لكل ميزة دقيقة. بدلاً من ذلك ، يمكنك استكشاف Pyglet و Kivy وهما أسرع ، ويدعمان المشاريع ثلاثية الأبعاد ، وهما أكثر سهولة ، ويأتيان مع تحديثات منتظمة.