【发布时间】:2022-11-09 16:08:59
【问题描述】:
我有一个非常简单的 HTML 页面,将页面连接到我的 Twilio 后端:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/@twilio/voice-sdk@2.0.1/dist/twilio.min.js"></script>
<script>
connection = null;
call = async () => {
const response = await fetch(
"https://my.token.endpoint/token"
);
const data = await response.json();
const device = new Twilio.Device(data.token);
connection = await device.connect();
connection.on(
"error",
(err) =>
(document.getElementById("error-display").innerHTML = err.message)
);
};
stop = () => {
connection?.disconnect();
connection = null;
};
</script>
</head>
<body>
<button onclick="call()">call</button>
<button onclick="stop()">stop</button>
<p id="error-display"></p>
</body>
</html>
当我使用 Chrome 102.0.5005.115 从我的 Windows 10 机器打开 HTML 页面时,单击呼叫按钮成功连接到我的 Twilio 后端。
但是,当我使用 Chrome 102.0.5005.125 从我的 Android 12 移动设备打开 HTML 页面时,单击通话按钮会触发以下错误:
AcquisitionFailedError (31402):浏览器和最终用户允许权限,但获取媒体失败。这通常是由于限制不当造成的,但有时会因浏览器、操作系统或硬件问题而失败。
【问题讨论】:
标签: javascript twilio