اجرای فایل صوتی wav با پایتون در ویندوز

در این نوشته می خواهم کد ساده ای را به کمک ماژول های tkinter و winsound نشان دهم که یک فایل wav را اجرا و متوقف می کنیم. انگیزه از این پروژه، شناساندن کتابخانه tkinter و winsound است. ماژول winsound ویژه سیستم عامل ویندوز است و یک فایل صوتی wav را اجرا می کند و tkinter که مستقل از سیستم عامل است، برای ساخت رابط گرافیکی به کار می رود.

ماژول winsound پیشفرض در پایتون ویندوزی هست و نیازی به نصب آن ندارید. این ماژول دارای یک متد به نام ()PlaySound است که آرگومان نخست آن می تواند نام یک فایل با پسوند wav باشد. در تابع ()play آرگومان نخست آن نام فایل file.wav است که در همان مسیری است که فایل ساکریپت پایتون نگهداری می شود. در تابع ()stop ولی آرگومان نخست برابر با واژه کلیدی None در پایتون است که در واقع می خواهیم بگوییم که هرگاه دگمه Stop را کلیک کردیم، هیچ چیز را اجرا کن. در واقع اجرای فایل file.wav را خنثی می کند.

عبارت SND_ASYNC در متد ()PlaySound در تابع ()play برای اجرای ناهمگام (Async) فایل صوتی است. برای نمونه اگر به جای آن عبارت SND_FILENAME را بنویسید، پس با کلیک کردن روی دگمه play، برنامه بلاک می شود و تا زمانی که زمان فایل به پایان نرسد، پس دگمه play آزاد نمی شود.

سه دگمه به نام های play_btn و stop_btn و close_btn داریم که به ترتیب مقدار آرگومان command آنها برابر با نام تابع های ()play و ()stop و ()close است. در تابع سازنده Button از tkinter، آرگومان command همان تابعی را نشان می دهد که با کلیک شدن روی دگمه باید انجام شود.

برای شما

همچنین در تابع ()play و به کمک متد ()config از برچسب (Label)، متن برچسب به Sound Play تغییر می کند و همین نیز برای تابع ()stop است که متن به Sound Close تغییر می کند. این یک اسکریپت ساده برای شناساندن ماژول winsound در پایتون ویندوز بود و حتما دارای ایرادهایی نیز هست. همچنین بهتر است راهنمای ماژول winsound را نیز بخوانید.

اسکریپت پایتون

نمونه فایل wav

نویسنده مطلب: برنامه نویسی و مفاهیم رایانه

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.