🎙️ 麥克風存取問題排解
確保您的應用程式擁有適當的麥克風存取權限對於依賴音訊輸入的功能至關重要。本指南涵蓋了如何管理和處理麥克風權限問題,特別是在安全上下文中。
瞭解安全上下文 🔒
出於安全考量,對麥克風的存取僅限於透過 HTTPS 提供的頁面或從 localhost
本地執行。此要求旨在透過確保資料經由安全通道傳輸來保護您的數據。
常見的權限問題 🚫
像 Chrome、Brave、Microsoft Edge、Opera 和 Vivaldi 這類瀏覽器,以及 Firefox,均會限制非 HTTPS 網址對麥克風的存取。當透過同一網路中另一裝置存取網站(例如,用行動電話存取桌面伺服器)時,這通常會導致問題。以下是您可以解決這些問題的方法:
非 HTTPS 連線的解決方案
-
設置 HTTPS:
- 強烈建議配置您的伺服器支援 HTTPS。這不僅解決了權限問題,還增強了數據傳輸的安全性。
-
臨時瀏覽器標籤設定(謹慎使用):
- 這些設定會強制瀏覽器將某些不安全的網址視為安全網址。這對開發過程很有用,但會帶來顯著的安全風險。以下是如何為主流瀏覽器調整這些設定:
基於 Chromium 的瀏覽器(例如 Chrome、Brave)
- 開啟
chrome://flags/#unsafely-treat-insecure-origin-as-secure
。 - 輸入您的非 HTTPS 地址(例如
http://192.168.1.35:3000
)。 - 重新啟動瀏覽器以應用更改。
基於 Firefox 的瀏覽器
- 開啟
about:config
。 - 搜尋並修改(或建立)字串值
dom.securecontext.allowlist
。 - 添加您的 IP 地址,用逗號分隔(例如
http://127.0.0.1:8080
)。
考慮事項和風險 🚨
雖然瀏覽器標籤提供快速解決方案,但它們繞過了重要的安全檢查,可能會使您的裝置和數據暴露於漏洞中。在規劃生成環境時,始終優先考慮適當的安全措施。
透過遵循這些最佳實踐,您可以確保您的應用程式正確存取麥克風,同時保持數據的安全性和完整性。