|
|
|
@ -8,6 +8,12 @@
|
|
|
|
3. 麦克风被持续占用(无法被其他应用或页面使用)
|
|
|
|
3. 麦克风被持续占用(无法被其他应用或页面使用)
|
|
|
|
|
|
|
|
|
|
|
|
什么情况下会导致该问题,比如录音功能是一个弹窗页面,点击开始录音之后,未点击结束录音直接关闭弹窗就会导致上述问题
|
|
|
|
什么情况下会导致该问题,比如录音功能是一个弹窗页面,点击开始录音之后,未点击结束录音直接关闭弹窗就会导致上述问题
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
本次修改兼容(弹窗提示下列问题)
|
|
|
|
|
|
|
|
1. 用户不允许录音
|
|
|
|
|
|
|
|
2. 用户没有输入设备或者麦克风
|
|
|
|
|
|
|
|
3. 如果非本地localhost打开,即正常域名打开需要https,http打开不能录音
|
|
|
|
-->
|
|
|
|
-->
|
|
|
|
<!doctype html>
|
|
|
|
<!doctype html>
|
|
|
|
<html lang="zh-CN">
|
|
|
|
<html lang="zh-CN">
|
|
|
|
@ -227,7 +233,23 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 1000);
|
|
|
|
}, 1000);
|
|
|
|
} catch (err) {
|
|
|
|
} catch (err) {
|
|
|
|
alert('无法访问麦克风:' + err.message);
|
|
|
|
switch (err.name) {
|
|
|
|
|
|
|
|
case 'NotAllowedError':
|
|
|
|
|
|
|
|
this.$message.error('用户拒绝了麦克风权限,请在浏览器设置中授权');
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'NotFoundError':
|
|
|
|
|
|
|
|
this.$message.error('未检测到录音设备,请检查麦克风是否连接或可用');
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'NotReadableError':
|
|
|
|
|
|
|
|
this.$message.error('麦克风正在被其他程序占用,请关闭其他应用后重试');
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'TypeError':
|
|
|
|
|
|
|
|
this.$message.error('浏览器不支持录音功能或页面未在安全上下文中运行');
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
this.$message.error('录音启动失败:' + (err.message || '未知错误'));
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
console.error('录音失败:', err);
|
|
|
|
console.error('录音失败:', err);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|