סנכרון בין הפעלה של אודיו ווידאו לאינטרנט

Web Audio API מאפשר להשיג סנכרון AV בצורה נכונה.

François Beaufort
François Beaufort

המאפיין outputLatency של מכונה AudioContext מספק אומדן של זמן האחזור של פלט חומרת אודיו (למשל, זמן האחזור של אוזניות Bluetooth או ממשק אודיו חיצוני בחיבור USB). המאפיין הזה שימושי אם רוצים:

  • מסנכרנים את חומר האודיו הקיים ואת התוכן החדש שהוקלט. (בתרחיש של הפקת מוזיקה)
  • לסנכרן את הפלט של Web Audio (אודיו באינטרנט) ומדיה אחרת (כמו וידאו או הפעלת MIDI).

בהדגמה של WebCodecs (מקור), ה-WebCodecs API משמש לפענוח של MediaStream בנתוני וידאו ואודיו גולמיים. לאחר מכן הוא מופעל בתוך רכיב HTML <canvas> עם נתוני אודיו שמגיעים מ-Audio Worklet. המאפיין outputLatency מאפשר להדגמה לקבוע מתי חותמת זמן נתונה של אודיו מגיעה לאוזני המשתמש, ואז לצבוע פריימים של הסרטון בהתאם לחותמת הזמן הזו.

צילום מסך של ההדגמה, שהוא סרטון מוטמע עם פקדי אודיו לשיפור עוצמת הקול, תקינות של מאגר הנתונים הזמני של האודיו, זמן אחזור כולל של פלט ותיבת סימון לשימוש ב-AudioContext.outputLatency.

כדאי לנסות זאת בעצמך, להפעיל את הסרטון עם אוזניות ה-Bluetooth האהובות עליך (🎧), מחכים לציפור (🐦) (ראו למעלה) ומחליפים את מצב תיבת הסימון (☑️) כדי להבחין בשינויים בהפעלת האודיו. ערך זמן האחזור הכולל של הפלט מתעדכן בזמן אמת.

זמן אחזור של פלט AudioContext

תמיכה בדפדפן

  • 102
  • 102
  • 70
  • x

מקור

תמונה ראשית (Hero) של Wahid Phene בקמפיין Unbounce.