0

如果我們在Chrome的網站上運行HTML5的Web Speech API的JavaScript代碼,Chrome會要求用戶允許使用用戶計算機的麥克風。Chrome擴展程序如何獲得用戶使用用戶計算機麥克風的權限?

var recognition = new webkitSpeechRecognition(); 
recognition.start(); 

但是,如果我在Chrome擴展程序的頁面上運行上述代碼,則Chrome不會要求用戶授予權限。 Chrome擴展程序如何獲得用戶使用用戶電腦麥克風的權限?

謝謝。

回答

-1

我認爲你必須自己實現它。在chrome擴展的manifest.json中,有一個權限參數。我想首先你必須獲得在該文件中使用麥克風的權限。我不知道調用的參數是什麼,但可以在文檔中查看。

此權限警告僅在用戶安裝擴展程序時顯示。之後,擴展可以按照意願打開/關閉麥克風。爲了獲得用戶的許可,首先檢查用戶正在使用哪個網站,以及是否要激活該話筒。之後,只需在該網頁中注入HTML/CSS代碼,即可向用戶詢問她的許可顯示一個彈出窗口。如果權限爲是,則將消息發送到後臺頁面,然後將其打開。

+0

謝謝您的回覆。我無法在頁面https://developer.chrome.com/extensions/declare_permissions.html上找到所需的權限。我不想獲得在網站上使用麥克風的許可。我試圖要求用戶在Chrome擴展程序的頁面上允許使用麥克風。 – weilou

0

可以使用navigator全局對象在自己的Chrome擴展您的JS文件,要求音頻和/或視頻的權限:

navigator.getUserMedia({audio: true, video: true}) 

雖然MDN說,這是deprecated你可以用這個來代替:

navigator.mediaDevices.getUserMedia({audio: true}) 

檢查this tutorial以及JS的一些替代品。

相關問題