Web'de ses ve video oynatmayı senkronize edin.

Web Audio API, AV senkronizasyonunun düzgün şekilde gerçekleştirilmesini mümkün kılar.

Faruk Mercan
François Beaufort

AudioContext örneğinin outputLatency özelliği, ses donanımının çıkış gecikmesiyle ilgili tahmini bir değer sağlar (ör. Bluetooth kulaklık veya harici USB ses arayüzü çıkışı). 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 Audio çıkışını ve diğer medyayı (ör. video veya MIDI oynatma) senkronize edin.

Bu WebCodecs demosunda (kaynak) WebCodecs API, bir MediaStream öğesinin kodunu ham video ve ses verilerine dönüştürmek için kullanılır ve ardından Ses İş Akışı'ndan gelen ses verileriyle HTML <canvas> öğesinde oynatılır. outputLatency özelliği, demonun belirli bir ses zaman damgasının kullanıcının kulaklarına ne zaman ulaştığını belirlemesini ve video karelerini buna uygun şekilde uygun şekilde boyamasını sağlar.

Ses denetimleri, ses arabelleği durumu, toplam çıkış gecikmesi ve AudioContext.outputLatency kullanımı için bir onay kutusu içeren yerleşik bir videonun ekran görüntüsü.

Kendiniz deneyin, videoyu favori Bluetooth mikrofonlu kulaklığınızla (DDEX) oynatın, kuşu bekleyin (🐦) (yukarıya bakın) ve ses çalmadaki değişiklikleri gözlemlemek için onay kutusunu (☑️) açın. Toplam çıkış gecikmesi değeri gerçek zamanlı olarak güncellenir.

AudioContext çıktı gecikmesi

Tarayıcı Desteği

  • 102
  • 102
  • 70
  • x

Kaynak

Wahid Khene'in Unsplash'teki lokomotif resmi.