مهر
۲۱
۱۳۹۱

آشنایی با کتابخانه صوتی OpenAL

مدتی قبل در جایی از یک برنامه نیاز به استفاده از صداها پیدا کردم. به همین دلیل به دنبال یک ‏API‏ قوی و در عین حال ساده ‏برای وارد کردن صداها در برنامم گشتم. نتایج بررسی هام منتهی شد به آشنا شدنم با کتابخانه‎ ‎جالب و قدرتمند (OpenAL (Open Audio Library

با استفاده از ‏این کتابخانه شما میتونید از صداها در برنامه هاتون به راحتی استفاده کنید. ‏میتونید هر جایی که لازم بود فایلی صوتی رو پخش یا پخش اون رو متوقف کنید.
البته طبق توضیحاتی که در معرفی این کتابخانه آورده شده ‏OpenAL‏ قابلیت های زیادی برای کار با صداها به صورت حرفه ای (به طور مثال ساخت بازی ها) داره ‏اما برای من که نیاز به تنظیمات خاصی روی صدا در برنامم نداشتم هم بسیار خوب و قابل استفاده بود.
نکته بسیار مثبت دیگه ای هم که برای من داشت شباهت شکلی و ساختاری بسیار زیادش با کتابخانه گرافیکی ‏OpenGL‏ بود. در ‏حقیقت در ساخت ‏OpenAL‏ از شیوه ساخت و نامگذاری ‏OpenGL‏ الهام گرفته شده و میتونه کامل کننده این کتابخانه باشه.

مزیت ‏مهم دیگه ی این ‏API‏ کراس پلتفرم (cross-platform) بودن اونه و میتونید کدهای نوشته شده در به طور مثال ویندوز را عینا در لینوکس نیز کامپایل و اجرا کنید.
این کتابخانه به مانند ‏OpenGL‏ با زبان ‏C‏ نوشته شده اما در مورد اینکه در چه زبان های به غیر از ‏C/C++‎‏ قابل استفاده است ‏تحقیقی نکردم.‏
برای اینکه بتونید با فایل های صوتی درون برنامتون با راحتی بیشتری کار کنید و نیازی به برنامه نویسی سطح پایین برای لود ‏فایل ها نداشته باشید میتونید کتابخانه تکمیلی ‏ALUT‏ رو هم دانلود و نصب کنید.‏
در این لینک تمام کتابخانه ها و فایل های مورد نیاز برای نصب ‏OpenAL‏ در پلتفرم‌های مختلف برای دانلود وجود داره.‏ همچنین اگر از اوبونتو استفاده میکنید میتوانید از طریق مخازن آن OpenAL  و ALUT را به راحتی نصب و راه اندازی نمایید. (مخازن توزیع های دیگر را جستجو نکردم ولی به احتمال قوی در مخازن توزیع های دیگر هم موجود باشند)
بعد از نصب میتوانید از این کد برای آشنایی با ‏OpenAL‏ و تست کامپایل و اجرای اون استفاده نمایید.‏

من کد برنامه ی بالا رو با اندکی تغییرات به صورت object orienter درآوردم که استفاده از اون رو بسیار راحتتر میکنه:

 

 

میتونید کلاس Sound را در پروژه خودتون اضافه کنید و از خطوط زیر برای تعریف و استفاده از فایل های صوتی خودتون استفاده کنید. به این ترتیب:

 


نوشته‌های مرتبط

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

برنامه‌نویس ++‏C/C‏ - برنامه‌نویس سیستم‌های گرافیکی با استفاده از کتابخانه ‏OpenGL - برنامه‌نویس #‏C و ..‏



۲ دیدگاه افزودن دیدگاه +

  • سلام. خسته نباشید.من وقتی ابن کد رو اجرا میکنم میگه در لود کردن داده ها خطا وجود داره .میشه راهنماییم کنید که چیکار باید بکنم؟

    • سلام
      متن کامل پیغام خطایی که دریافت میکنید رو برام بنویسید تا در صورت امکان راهنماییتون کنم

فرستادن دیدگاه

*