如何检查 getUserMedia() 中发生的错误?
How do I check which error occurred in getUserMedia()?
我正在尝试检查用户是否有相机。
MediaDevices.getUserMedia() 文档说有 2 个可能的错误:SecurityError 和 NotFoundError
有没有一种方法可以检测两者中的哪一个发生,并分别对每个进行操作?
navigator.mediaDevices.getUserMedia({
video: true
})
.then(function() {
//do something
})
.catch(function(error) {
//if error = security error, do something
//if error = camera not found, do something else
});
编辑
可能不是最好的方法,但对我有用:
navigator.mediaDevices.getUserMedia({
video: true
})
.then(function() {
//do stuff
})
.catch(function(error) {
if(error.message.includes("Requested device not found")) //do stuff
else if(error.message.includes("Permission denied")) //do other stuff
});
我认为这不是真正的方法,但它可以工作。
if(error.includes("something from security error message"){
//do something about security
} else if(error.includes("something from camera error message"){
//do something about camera
}
错误可以是不同的类型(对象、字符串)。首先我们应该看看我们的错误。
我正在尝试检查用户是否有相机。
MediaDevices.getUserMedia() 文档说有 2 个可能的错误:SecurityError 和 NotFoundError
有没有一种方法可以检测两者中的哪一个发生,并分别对每个进行操作?
navigator.mediaDevices.getUserMedia({
video: true
})
.then(function() {
//do something
})
.catch(function(error) {
//if error = security error, do something
//if error = camera not found, do something else
});
编辑
可能不是最好的方法,但对我有用:
navigator.mediaDevices.getUserMedia({
video: true
})
.then(function() {
//do stuff
})
.catch(function(error) {
if(error.message.includes("Requested device not found")) //do stuff
else if(error.message.includes("Permission denied")) //do other stuff
});
我认为这不是真正的方法,但它可以工作。
if(error.includes("something from security error message"){
//do something about security
} else if(error.includes("something from camera error message"){
//do something about camera
}
错误可以是不同的类型(对象、字符串)。首先我们应该看看我们的错误。