Howler.js: لایبرری جاوااسکریپتی اپن‌سورس جهت اجرای فایل‌های صوتی در وب ‌اپلیکیشن‌

Howler.js: لایبرری جاوااسکریپتی اپن‌سورس جهت اجرای فایل‌های صوتی در وب ‌اپلیکیشن‌

Howler.js یک لایبرری جاوااسکریپتی است که این امکان را در اختیار وب دولوپرها قرار می‌دهد تا بتوانند فایل‌های صوتی با فرمت استاندارد را با استفاده از پلیِرهای مختلف و در تمامی پلتفرم‌ها اجرا کنند و ترکیبی از قابلیت‌های Web Audio API و تگ <audio> در HTML5 را دارا است که منجر بدین شده تا امکان اجرای فایل‌های صوتی روی تمامی مرورگرها از جمله IE9 و Cordova را داشته باشد (Web Audio API یک ای‌پی‌آی جاوااسکریپتی توسعه یافته توسط کمپانی گوگل است که امکان اجرای فایل‌های صوتی در مرورگرهای جدید را ارائه می‌دهد.) اساساً تمامی آنچه که یک فایل صوتی برای اجرا نیاز دارد توسط این لایبرری در اختیار دولوپرها قرار می‌گیرد که برخی از مهم‌ترین آن‌ها عبارتند از امکان پلِی/ری‌پلِی و همچنین کم و زیاد کردن صدا. 

Howler.js همچنین به منظور افزودن صدا در پس‌زمینۀ بازی‌های سه‌بُعدی تحت وب توسعه یافته که تمامی فرمت‌های صوتی از جمله MP3 ،OGG ،WAV ،AAC ،CAF ،M4A ،MP4 ،WEBA و FLAC را پشتیبانی می‌کند و یک API ارائه می‌دهد که با کلیهٔ فرمت‌های صوتی سازگار بوده و دولوپرها با استفاده از آن می‌توانند به سادگی فایل‌های صوتی را در وب اپلیکیشن‌های خود ساخته و اجرا کنند.

با استفاده از ابزار Audiosprite در این لایبرری می‌توان یک فایل صوتی یکپارچه را با ادغام چندین سِگمِنت از فایل‌های صوتی مختلف ایجاد کرد تا بدین وسیله تعداد ریسورس‌های وب اپلیکیشن مد نظر نیز تا حدودی کاهش یابد. همچنین این لایبرری امکان کَش کردن خودکار فایل‌های صوتی پخش‌شده در یک صفحۀ وب را فراهم می‌سازد تا بدین طریق صفحات در بارگذاری مجدد با سرعت بهتری لود شده و در نتیجه پرفورمنس وب اپلیکیشن بهبود یابد.

از جمله ویژگی‌های دیگر این لایبرری می‌توان به معماری ماژولار آن اشاره کرد به طوری که دولوپرها می‌توانند بسته به نیاز خود برخی از فیچرهای این لایبرری را انتخاب کرده و یا آن را توسعه دهند مضاف بر اینکه Howler.js به صورت اصطلاحاً Pure JavaScript توسعه یافته که هیچ دیپندسی به لایبرری‌ها و پلاگین‌های اِکسترنال نداشته و فایلی سبک با اندازۀ تقریبی 7 کیلوبایت دارا است.

از بهترین نوشته‌های کاربران سکان آکادمی در سکان پلاس


online-support-icon