Web Audio API, AV senkronizasyonunu düzgün bir şekilde yapmayı mümkün kılar.
AudioContext
örneğinin outputLatency
özelliği, ses donanımının çıkış gecikmesine ilişkin tahmini sağlar (örneğin, Bluetooth kulaklık veya harici USB ses arayüzü için). Bu özellik aşağıdakileri yapmak istediğinizde kullanışlıdır:
- Mevcut ses materyalini ve yeni kaydedilen materyali senkronize edin. (müzik prodüksiyonu senaryosunda)
- Web Sesi çıkışını ve diğer medyaları (ör. video veya MIDI oynatma) senkronize edin.
Bu WebCodecs demosunda (kaynak), WebCodecs API'si bir MediaStream
kodunu ham video ve ses verilerine çözmek için kullanılmış ve ardından Ses İş Akışı'ndan gelen ses verileriyle bir HTML <canvas>
öğesine kaydedilmiştir. outputLatency
özelliği, demonun belirli bir ses zaman damgasının kullanıcının kulaklarına ne zaman ulaştığını belirlemesini ve ardından video karelerini buna uygun şekilde boyamasını sağlar.
Kendiniz deneyin, videoyu favori Bluetooth mikrofonlu kulaklığınızla (💌) oynatın, kuşu (🐦) bekleyin (yukarıya bakın) ve ses çalma değişikliklerini gözlemlemek için onay kutusunu (️) açın/kapatın. Toplam çıkış gecikmesi değeri gerçek zamanlı olarak güncellenir.
AudioContext çıkış gecikmesi
Wahid Khene'in Unsplash'teki hero görseli.