Skip to content
Mic and webcam test

Bu sayfayı paylaş

Çözüm rehberi · Mikrofon testi

"SecurityError" ve "navigator.mediaDevices is undefined" nasıl düzeltilir

Tarayıcılar mikrofon ve kamera erişimine yalnızca güvenli sayfalarda izin verir. Adres https:// yerine http:// ile başlıyorsa veya sayfa izinsiz bir çerçevedeyse, tarayıcı SecurityError verir ya da navigator.mediaDevices'ı tamamen gizler; bu da "TypeError: Cannot read properties of undefined (reading getUserMedia)" hatasına yol açar. Çözüm güvenli bir adres kullanmaktır.

Bir düğmeye basın, erişime izin verin; cihazınızı denetleyelim.

%100 güvenli. Tüm işlem tamamen tarayıcınızda gerçekleşir. Sesiniz, görüntünüz ve mikrofon akışlarınız hiçbir zaman bir sunucuya yüklenmez veya kaydedilmez.

Hızlı çözüm kontrol listesi

  1. 1Adres çubuğuna bakın. Sayfa https:// ile başlamalı veya localhost olmalıdır.
  2. 2Adreste http:// yerine https:// yazın veya siteyi güvenli bir bağlantıdan yeniden açın.
  3. 3Bir uygulamanın ya da gömülü görünümün içindeyseniz sayfayı normal bir tarayıcı sekmesinde açın.
  4. 4Site için mikrofona ve kameraya izin verin, yenileyin, sonra tekrar Denetle'ye basın.
  5. 5Siteyi siz yönetiyorsanız bir sertifika kurun ve tüm http trafiğini https'e yönlendirin.

Tarayıcılar neden güvenli bağlam ister

Mikrofon ve kamera hassastır. Tarayıcılar bunları yalnızca güvenli bir bağlamda sunar; böylece paylaşılan bir ağdaki saldırgan sayfayı değiştirip sizi gözetleyemez. Düz http sayfaları, 192.168.x.x gibi yerel ağ adresleri ve uygulama içi birçok görünüm, localhost'un aksine bu koşulu karşılamaz.

Bir izin politikası da çerçevedeki sayfa için cihazı engelleyebilir. Barındıran sayfa, çerçeve için mikrofon ve kameraya izin vermelidir.

Geliştirici kontrol listesi

Geçerli sertifikayla HTTPS üzerinden sunun, yerel çalışmayı localhost'ta test edin ve getUserMedia'yı çağırmadan önce window.isSecureContext değerini denetleyin. Gömmelerde iframe'e allow="microphone; camera" ekleyin ve izni kaldıran sandbox'lardan kaçının. Mikrofon testi karşılaştırabilmeniz için HTTPS üzerinden sunulur.

Daha kapsamlı bir test mi istiyorsunuz? mikrofon testi sayfasını açınÜcretsiz, tarayıcınızda çalışır, hiçbir şey yüklenmez.

SSS

Sık sorulan sorular

navigator.mediaDevices neden undefined?

Sayfa güvenli bir bağlamda değil, bu yüzden tarayıcı medya API'sini gizler. HTTPS üzerinden veya localhost'ta açın.

localhost güvenli sayılır mı?

Evet. Tarayıcılar localhost'u güvenli kabul eder, yani sertifikasız geliştirme yapabilirsiniz. Diğer yerel adresler HTTPS ister.

getUserMedia'da SecurityError nedir?

Tarayıcı reddetti; çünkü sayfa güvensiz, kısıtlı bir çerçevede yüklendi veya bir politika cihazı yasaklıyor.

Verilerim http sayfasında güvende mi?

http sayfalarında mikrofon ve kamera kullanmaktan kaçının. Sayfanın yolda değiştirilememesi için https kullanın.

Okumaya devam edin