Web Audio API מאפשר להשיג סנכרון AV בצורה נכונה.
המאפיין outputLatency
של מכונה AudioContext
מספק אומדן של זמן האחזור של פלט חומרת אודיו (למשל, זמן האחזור של אוזניות Bluetooth או ממשק אודיו חיצוני בחיבור USB). המאפיין הזה שימושי אם רוצים:
- מסנכרנים את חומר האודיו הקיים ואת התוכן החדש שהוקלט. (בתרחיש של הפקת מוזיקה)
- לסנכרן את הפלט של Web Audio (אודיו באינטרנט) ומדיה אחרת (כמו וידאו או הפעלת MIDI).
בהדגמה של WebCodecs (מקור), ה-WebCodecs API משמש לפענוח של MediaStream
בנתוני וידאו ואודיו גולמיים. לאחר מכן הוא מופעל בתוך רכיב HTML <canvas>
עם נתוני אודיו שמגיעים מ-Audio Worklet. המאפיין outputLatency
מאפשר להדגמה לקבוע מתי חותמת זמן נתונה של אודיו מגיעה לאוזני המשתמש, ואז לצבוע פריימים של הסרטון בהתאם לחותמת הזמן הזו.
כדאי לנסות זאת בעצמך, להפעיל את הסרטון עם אוזניות ה-Bluetooth האהובות עליך (🎧), מחכים לציפור (🐦) (ראו למעלה) ומחליפים את מצב תיבת הסימון (☑️) כדי להבחין בשינויים בהפעלת האודיו. ערך זמן האחזור הכולל של הפלט מתעדכן בזמן אמת.
זמן אחזור של פלט AudioContext
תמונה ראשית (Hero) של Wahid Phene בקמפיין Unbounce.