Web'de ses ve video oynatmayı senkronize edin.

Web Audio API, AV senkronizasyonunu düzgün bir şekilde yapmayı mümkün kılar.

François Beaufort
François Beaufort

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.

Ses düzeyi, ses arabelleği sağlığı ve toplam çıkış gecikmesiyle ilgili ses kontrolleri ve AudioContext.ExitLatency için bir onay kutusunun yer aldığı yerleşik bir videonun ekran görüntüsü.

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

Tarayıcı Desteği

  • 102
  • 102
  • 70
  • x

Kaynak

Wahid Khene'in Unsplash'teki hero görseli.