همگام سازی پخش صدا و تصویر در وب

Web Audio API امکان همگام سازی AV را فراهم می کند.

فرانسوا بوفور
François Beaufort

ویژگی outputLatency یک نمونه AudioContext تخمینی از تأخیر خروجی سخت افزار صوتی (به عنوان مثال، هدفون های بلوتوث یا رابط صوتی USB خارجی) ارائه می دهد. این ویژگی زمانی مفید است که می خواهید:

  • مواد صوتی موجود و مطالب تازه ضبط شده را همگام سازی کنید. (در سناریوی تولید موسیقی)
  • خروجی صوتی وب و سایر رسانه ها (به عنوان مثال پخش ویدیو یا MIDI) را همگام سازی کنید.

در این نسخه ی نمایشی WebCodecs ( منبعWebCodecs API برای رمزگشایی MediaStream به داده های ویدیویی و صوتی خام استفاده می شود و سپس در یک عنصر HTML <canvas> با داده های صوتی که از یک Audio Worklet می آید، پخش می شود. ویژگی outputLatency به دمو این امکان را می دهد که تعیین کند چه زمانی یک مهر زمانی صوتی به گوش کاربر می رسد و سپس به درستی فریم های ویدئویی را برای مطابقت با آن رنگ آمیزی کند.

تصویری از نسخه نمایشی، که از یک ویدیوی جاسازی شده با کنترل‌های صوتی برای میزان صدا، سلامت بافر صدا، تأخیر کل خروجی و یک کادر انتخاب برای استفاده از AudioContext.outputLatency است.

خودتان آن را امتحان کنید، ویدیو را با هدست بلوتوث مورد علاقه خود پخش کنید (🎧)، منتظر پرنده باشید (🐦) (به بالا مراجعه کنید)، و کادر انتخاب (☑️) را تغییر دهید تا تغییرات پخش صدا را مشاهده کنید. مقدار تأخیر کل خروجی در زمان واقعی به روز می شود.

تأخیر خروجی AudioContext

پشتیبانی مرورگر

  • 102
  • 102
  • 70
  • ایکس

منبع

تصویر قهرمان توسط وحید خنه در Unsplash .