tiks؛ افکت صوتی برای رابط کاربری بدون فایل صوتی
خلاصهٔ کاملتر
ایدهی پشت tiks اینه که افکتهای صوتی رابط کاربری رو بهجای پخش فایلهای صوتی آماده، همون لحظه با سنتز صدا بسازه. به این روش میگن procedural، یعنی صدا بهصورت برنامهنویسیشده تولید میشه نه اینکه از یه فایل ضبطشده خونده بشه. نتیجهش اینه که نیازی به دانلود هیچ فایل صوتیای نیست.
نقطهی قوتی که روش تأکید شده، سبک بودنشه: حدود ۲ کیلوبایت بعد از gzip و بدون هیچ وابستگی (zero dependencies). این یعنی اضافه کردنش به یه پروژه تقریباً هیچ هزینهای روی حجم نهایی نمیذاره، که برای یه قابلیت جانبی مثل صدای رابط کاربری خیلی مهمه.
زیرساختش روی Web Audio API سواره؛ یعنی همون رابط استاندارد مرورگرها برای تولید و پردازش صدا رو استفاده میکنه و خروجی رو بهصورت زنده میسازه. بهخاطر همین میتونه تمها و صداهای مختلف رو بدون نگه داشتن کلی فایل صوتی پشتیبانی کنه.
طرز استفادهش هم ساده نشون داده شده. اول کتابخونه رو نصب و import میکنی، بعد یه بار با tiks.init() راهاندازیش میکنی و بعدش هر جا لازم بود صداها رو صدا میزنی:
import { tiks } from '@rexa-developer/tiks'
// Initialize on first gesture
tiks.init()
// Play sounds
tiks.click()
tiks.success()
tiks.toggle(true)یه نکتهی فنی که تو همین نمونه به چشم میخوره اینه که init باید روی اولین تعامل کاربر (first gesture) صدا زده بشه. این بهخاطر سیاست مرورگرهاست که اجازه نمیدن صدا قبل از اینکه کاربر یه کاری بکنه پخش بشه، پس tiks هم همین قاعده رو رعایت میکنه.
نکات کلیدی:
- صداهای رابط کاربری رو زنده با Web Audio API میسازه، بدون هیچ فایل صوتی
- حدود ۲ کیلوبایت بعد از gzip و بدون وابستگی
- توابع آماده مثل click()، success() و toggle() داره
- باید با tiks.init() و روی اولین تعامل کاربر راهاندازی بشه




