Мое требование - проверить, имеет ли приложение доступ к микрофону или нет. Если нет, то получите доступ. Мое приложение построено с использованием Cordova. Я использовал https://github.com/edimuj/cordova-plugin-audioinput и https://github.com/dpa99c/cordova-diagnostic-plugin, они работают для устройств Android и iOS, за исключением устройств XIAOMI. В устройствах XIAOMI я всегда получаю уже выданное разрешение, но это не так. Есть ли какой-нибудь плагин Cordova, который я могу использовать, который также работает на устройствах XIAOMI?
Пример кода с использованием плагина аудиовхода
// First check whether we already have permission to access the microphone.
window.audioinput.checkMicrophonePermission(function(hasPermission) {
if (!hasPermission) {
// Ask the user for permission to access the microphone
window.audioinput.getMicrophonePermission(function(hasPermission) {
if (!hasPermission) {
scope.showMicrophoneDeniedMsg = true;
}
});
}
});
Пример кода с использованием диагностического плагина
cordova.plugins.diagnostic.getMicrophoneAuthorizationStatus(function(status) {
if (status === cordova.plugins.diagnostic.permissionStatus.GRANTED) {
console.log("Microphone use is authorized");
} else {
console.log("Microphone use is denied");
cordova.plugins.diagnostic.requestMicrophoneAuthorization(function(status) {
if (status === cordova.plugins.diagnostic.permissionStatus.GRANTED) {
console.log("Microphone use is authorized");
}
}, function(error) {
console.error(error);
console.log("Microphone use is denied 1");
});
}
}, function(error) {
console.error("The following error occurred: " + error);
});