تبلیغات

کلاس SoundPlayer ویندوز فرم (سی شارپ)

کلاس SoundPlayer فریمورک دات نت، که در فضای نامی System.Media تعریف شده است، برای پخش فایل صوتی wav مورد استفاده قرار می‌گیرد. و همچنین منبع صدای شما می‌تواند از داخل فایل‌های خود ویندوز یا ریسورس داخل اپلیکیشن و حتی به صورت http و از وب باشد.

شروع به کار با پخش یک صدا

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

پخش از درایو:


پخش از ریسورس:

ویژگی FuLLKade که در Properties.Resources قرار دارد، در واقع فایل FuLLKade.wav می‌باشد که به ریسورس اضافه شده است.


پخش از وب:
البته پخش از وب در این کلاس ساده، به صورت Stream نبوده و پس از دانلود شروع به پخش شدن می‌کند!

در کد بالا، از SoundLocation برای تنظیم URL، از LoadComplated برای تنظیم رویدادی که در زمان لود شدن یا دانلود شدن آهنگ رخ می‌دهد و در نهایت از متد LoadAsync نیز برای بارگزاری به صورت Asyc استفاده کرده‌‍ایم. رویداد را هم به صورت زیر پیاده می‌کنیم:

با اجرای این کد و در صورتی که لینک صحیح باشد، صدا پخش خواهد شد. (البته توجه داشته باشید که به اینترنت نیز باید دسترسی داشته باشید.)

لیست متدها و ویژگی‌های مهم

نامتوضیحات
ویژگی SoundLocationآدرس وب صدا که می‌تواند UNC یا HTTP باشد.
ویژگی LoadTimeoutمدت زمانی که برنامه‌ی شما منتظر خواهد ماند تا صدا قبل از ایجاد یک خطا یا Exception بارگزاری شود. برحسب میلی ثانیه بوده و مقدار پیشفرض آتن 10 می‌باشد.
ویژگی IsLoadCompletedآیا صدا لود شده است یا خیر؟!
متد Loadبارگزاری صدا به صورت synchronously یا همگام
متد LoadAsyncبارگزاری صدا به صورت asynchronously یا ناهمگام (پس از لود شدن کامل، رویداد OnLoadCompleted تولید خواهد شد.
متد Playشروع به پخش صدا در یک thread جدید
متد PlaySyncشروع به پخش صدا در همین thread فعلی
متد PlayLoopingهمانند Play عالی با این تفاوت که پس از اتمام، دوباره از اول شروع به پخش می‌کند
متد Stopتوقف صدا
رویداد LoadCompletedوقتی کار متد LoadAsync تمام شود

از آن جهت که این کلاس، فقط فایل صوتی wav را پخش می‌کند و همچنین امکانات زیادی در اختیار ما قرار نمی‌دهد، می‌توانید از کتابخانه‌ی گفته شده در «این‌لینک»، استفاده نمایید.
تبلیغات
0
کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس / مدیر فول کده

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه