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