خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

چگونه با استفاده از پایتون یک پخش کننده موسیقی بسازیم

از قدرت پایتون استفاده کنید و با استفاده از ماژول های PyGame و Tkinter پخش کننده موسیقی خود را بسازید.

پخش کننده های موسیقی با گذشت زمان به سرعت تکامل یافته اند. با گرامافون، جوک باکس، پخش کننده سی دی و پخش کننده MP3 شروع شد. امروزه می توانید با موبایل یا کامپیوتر خود به موسیقی گوش دهید. با کاوش در این مفهوم، یک برنامه پخش موسیقی با استفاده از Python و groove off ایجاد کنید.

ماژول Tkinter، PyGame و OS

برای ساخت موزیک پلیر به Tkinter، PyGame و ماژول OS نیاز دارید. Tkinter یک کتابخانه استاندارد رابط کاربری گرافیکی برای پایتون است که می توانید از آن برای ایجاد برنامه های دسکتاپ استفاده کنید. ویجت‌های مختلفی مانند دکمه‌ها، برچسب‌ها و جعبه‌های متنی را ارائه می‌دهد تا بتوانید در کمترین زمان برنامه‌ها را توسعه دهید. برای نصب Tkinter، یک ترمینال را باز کنید و اجرا کنید:

pip install tkinter

با استفاده از PyGame می توانید بازی های ویدیویی شگفت انگیزی را توسعه دهید که می توانند بر روی هر پلتفرمی اجرا شوند. استفاده از آن ساده است و دارای کتابخانه های گرافیکی و صوتی است تا روند توسعه شما را سریعتر کند. شما از ماژول mixer.music PyGame برای ارائه قابلیت های مختلف به پخش کننده موسیقی خود استفاده خواهید کرد. برای نصب PyGame، اجرا کنید:

pip install pygame

در نهایت، شما به ماژول سیستم عامل برای بارگذاری آهنگ ها در سیستم خود نیاز دارید. ماژول سیستم عامل با کتابخانه استاندارد پایتون ارائه می شود و نیازی به نصب جداگانه ندارد. با استفاده از این ماژول، می توانید به عملکردهای خاص سیستم برای مقابله با سیستم عامل خود دسترسی داشته باشید.

چگونه با استفاده از پایتون یک پخش کننده موسیقی بسازیم

می توانید کد منبع برنامه Music Player را با استفاده از Python در این مخزن GitHub پیدا کنید.

با وارد کردن ماژول های Tkinter، PyGame و OS شروع کنید. یک کلاس، MusicPlayer را تعریف کنید. سازنده __init__ را که برنامه در زمان ایجاد شیء فراخوانی می کند، تعریف کنید. شما می توانید از نمونه self برای دسترسی به هر متغیر یا متد داخل کلاس استفاده کنید.

پنجره اصلی را راه اندازی کنید و عنوان و ابعاد پخش کننده موسیقی خود را تنظیم کنید. تمام ماژول های PyGame وارد شده را به همراه ماژول میکسر اولیه کنید. آهنگ و وضعیت را از نوع StringVar تنظیم کنید. با استفاده از این، می توانید یک مقدار متن تنظیم کنید و در صورت نیاز آن را بازیابی کنید.

from tkinter import *
import pygame
import os

class MusicPlayer:

  def __init__(self,root):
    self.root = root
    self.root.title("Music Player")
    self.root.geometry("1000x200")
    pygame.init()
    pygame.mixer.init()
    self.track = StringVar()
    self.status = StringVar()

یک LabelFrame را تعریف کنید که حاوی برچسب آهنگ آهنگ و برچسب وضعیت آهنگ باشد. Labelframe به عنوان یک ظرف عمل می کند و برچسب ها را در داخل یک منطقه مرزی نمایش می دهد. پنجره والدی را که می‌خواهید قاب را در آن قرار دهید، متنی که باید نمایش داده شود، سبک‌های فونت، رنگ پس‌زمینه، رنگ فونت، عرض حاشیه و جلوه‌های سه‌بعدی خارج از ویجت را تنظیم کنید.

مطلب مرتبط:   نحوه ساخت بازی Memory Tile با استفاده از پایتون

از متد ()place برای سازماندهی قاب استفاده کنید. دو برچسب، آهنگ و وضعیت آهنگ را تعریف کنید. آنها را سفارشی کنید و از مدیر grid() برای سازماندهی آنها در قالب سطر و ستون استفاده کنید. می توانید آهنگ را طوری تنظیم کنید که در ردیف اول وجود داشته باشد و برای جلوگیری از همپوشانی و زیباتر شدن طرح، مقداری بالشتک اضافه کنید.

    trackframe = LabelFrame(self.root,text="Song Track",font=("arial",15,"bold"),bg="#8F00FF",fg="white",bd=5,relief=GROOVE)
    trackframe.place(x=0,y=0,width=600,height=100)
    songtrack = Label(trackframe,textvariable=self.track,width=20,font=("arial",24,"bold"),bg="#8F00FF",fg="#B0FC38").grid(row=0,column=0,padx=10,pady=5)
    trackstatus = Label(trackframe,textvariable=self.status,font=("arial",24,"bold"),bg="#8F00FF",fg="#B0FC38").grid(row=0,column=1,padx=10,pady=5)

به طور مشابه، فریمی را تعریف کنید که شامل چهار دکمه باشد. آن را در زیر ترک فریم سفارشی و سازماندهی کنید. چهار دکمه Play، Pause، Unpause و Stop را تعریف کنید. پنجره والدی که می‌خواهید دکمه‌ها را در آن قرار دهید، متنی که باید نمایش داده شود، عملکردهایی که باید هنگام کلیک کردن اجرا شود، عرض، ارتفاع، سبک قلم، رنگ پس‌زمینه و رنگ فونتی که باید داشته باشد را تنظیم کنید.

از مدیر grid() برای سازماندهی دکمه ها در یک ردیف و چهار ستون مختلف استفاده کنید.

    buttonframe = LabelFrame(self.root,text="Control Panel",font=("arial",15,"bold"),bg="#8F00FF",fg="white",bd=5,relief=GROOVE)
    buttonframe.place(x=0,y=100,width=600,height=100)
    playbtn = Button(buttonframe,text="PLAY",command=self.playsong,width=6,height=1,font=("arial",16,"bold"),fg="navyblue",bg="#B0FC38").grid(row=0,column=0,padx=10,pady=5)
    playbtn = Button(buttonframe,text="PAUSE",command=self.pausesong,width=8,height=1,font=("arial",16,"bold"),fg="navyblue",bg="#B0FC38").grid(row=0,column=1,padx=10,pady=5)
    playbtn = Button(buttonframe,text="UNPAUSE",command=self.unpausesong,width=10,height=1,font=("arial",16,"bold"),fg="navyblue",bg="#B0FC38").grid(row=0,column=2,padx=10,pady=5)
    playbtn = Button(buttonframe,text="STOP",command=self.stopsong,width=6,height=1,font=("arial",16,"bold"),fg="navyblue",bg="#B0FC38").grid(row=0,column=3,padx=10,pady=5)

یک LabelFrame، فریم آهنگ را تعریف کنید. این شامل آهنگ هایی است که می خواهید در پخش کننده موسیقی خود پخش کنید. ویژگی های قاب را سفارشی کنید و آن را در سمت راست قاب مسیر و دکمه قرار دهید. یک نوار اسکرول عمودی برای دسترسی به آهنگ ها حتی زمانی که لیست آهنگ های شما طولانی است اضافه کنید.

مطلب مرتبط:   SDK در مقابل API: تفاوت چیست؟

از ویجت Listbox برای نمایش آهنگ ها استفاده کنید. رنگ پس زمینه را تنظیم کنید تا هنگام انتخاب متن و حالت نمایش داده شود. حالت تک به شما امکان می دهد هر بار یک آهنگ را انتخاب کنید. علاوه بر این، سبک فونت، رنگ پس‌زمینه، رنگ فونت، عرض حاشیه و سبک سه‌بعدی مورد نظر خود را در اطراف آن مقداردهی اولیه کنید.

    songsframe = LabelFrame(self.root,text="Song Playlist",font=("arial",15,"bold"),bg="#8F00FF",fg="white",bd=5,relief=GROOVE)
    songsframe.place(x=600,y=0,width=400,height=200)
    scroll_y = Scrollbar(songsframe,orient=VERTICAL)
    self.playlist = Listbox(songsframe,yscrollcommand=scroll_y.set,selectbackground="#B0FC38",selectmode=SINGLE,font=("arial",12,"bold"),bg="#CF9FFF",fg="navyblue",bd=5,relief=GROOVE)

نوار اسکرول را در سمت راست پنجره قرار دهید و آن را به صورت Y پر کنید. این تضمین می کند که هر زمان که پنجره را باز می کنید، نوار اسکرول در جهت Y نیز گسترش می یابد. کادر فهرست را طوری پیکربندی کنید که از روش yview نوار پیمایش برای اسکرول عمودی استفاده کند. کادر فهرست را بسته بندی کنید تا فضا هم به صورت افقی و هم عمودی گرفته شود.

دایرکتوری کاری فعلی را به مسیر مشخص شده تغییر دهید. آهنگ ها را تکرار کنید و آنها را یکی یکی در کادر فهرست قرار دهید. شما از END به عنوان اولین آرگومان استفاده می کنید زیرا می خواهید خطوط جدیدی را به انتهای لیست باکس اضافه کنید.

    scroll_y.pack(side=RIGHT,fill=Y)
    scroll_y.config(command=self.playlist.yview)
    self.playlist.pack(fill=BOTH)
    os.chdir("Path_to_your_songs_folder")
    songtracks = os.listdir()
    for track in songtracks:
      self.playlist.insert(END,track)

یک تابع، آهنگ پخش را تعریف کنید. آهنگ را طوری تنظیم کنید که نام آهنگ همراه با وضعیت به صورت -Playing نمایش داده شود. از توابع load() و play() ماژول mixer.music PyGame برای بارگیری موسیقی برای پخش و شروع آن استفاده کنید.

  def playsong(self):
    self.track.set(self.playlist.get(ACTIVE))
    self.status.set("-Playing")
    pygame.mixer.music.load(self.playlist.get(ACTIVE))
    pygame.mixer.music.play()

به طور مشابه، با استفاده از stop()، pause() و unpause() توابعی را برای توقف، توقف و لغو مکث آهنگ ها تعریف کنید.

  def stopsong(self):
    self.status.set("-Stopped")
    pygame.mixer.music.stop()

  def pausesong(self):
    self.status.set("-Paused")
    pygame.mixer.music.pause()

  def unpausesong(self):
    self.status.set("-Playing")
    pygame.mixer.music.unpause()

نمونه Tkinter را راه‌اندازی کنید و پنجره ریشه را با ارسال آن به کلاس نمایش دهید. تابع mainloop() به پایتون می گوید که حلقه رویداد Tkinter را اجرا کند و تا زمانی که پنجره را ببندید به رویدادها گوش دهد.

root = Tk()
MusicPlayer(root)
root.mainloop()

همه کدها را کنار هم قرار دهید و پخش کننده موسیقی خود را آماده پخش در نوک انگشتان خود دارید. می‌توانید با اضافه کردن اشیا و اشکال با استفاده از ماژول‌های طراحی PyGame، پخش‌کننده موسیقی خود را حتی بیشتر سفارشی کنید.

مطلب مرتبط:   چگونه چندین کتاب کار اکسل را با پایتون ادغام کنیم

خروجی برنامه پخش کننده موسیقی با استفاده از پایتون

با اجرای برنامه، پخش کننده موسیقی آهنگ هایی را که انتخاب کرده اید به عنوان لیست پخش اجرا می کند. با انتخاب هر یک از آهنگ ها و زدن دکمه Play، موسیقی شروع به پخش می کند. به همین ترتیب، موسیقی با کلیک بر روی دکمه‌های مربوطه متوقف می‌شود، متوقف می‌شود و پخش آن متوقف می‌شود.

برنامه پخش موسیقی با استفاده از پایتون

ساخت بازی با ماژول PyGame

PyGame یک ماژول قدرتمند است که می توانید از آن برای ساخت بازی هایی مانند Frets on Fire، Flappy Bird، Snake، Super Potato Bruh، Sudoku و غیره استفاده کنید. PyGame دارای طراحی شی گرا است، بنابراین می توانید از کدها مجددا استفاده کنید و شخصیت های بازی های خود را به راحتی شخصی سازی کنید.

این گرافیک، صداها، ابزارهای ورودی و خروجی عالی را پشتیبانی می کند و ارائه می کند، بنابراین شما می توانید به جای صرف زمان برای کدنویسی تک تک ویژگی های دقیقه، روی طراحی بازی خود تمرکز کنید. از طرف دیگر، می‌توانید Pyglet و Kivy را کاوش کنید که سریع‌تر هستند، از پروژه‌های سه بعدی پشتیبانی می‌کنند، بصری‌تر هستند و با به‌روزرسانی‌های منظم همراه هستند.