You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using the plugin for recording some audio, the user probably denied accessing the microphone (by using the operation system's permission system). Currently there seems to be no explicit way to detect his. onError doesn't inform the developer about the denied permission request.
Feature Description
When accessing the microphone, the user get's a permission request from by the OS. If the user denies the request, the onError observable should inform the user about the issue when trying to use the device's microphone.
Workaround
To detect issues with recording the audio, it's possible to check the media's status after e.g. 1 second.
If there are some issues with starting the recording, the status stays at MEDIA_NONE (instead of switching to MEDIA_RUNNING).
this.mediaObject.onStatusUpdate.subscribe(status=>{this.mediaObjectStatus=status;});this.mediaObject.startRecord();// Check the media's status after 1 second.setTimeout(()=>{if(this.mediaObjectStatus===this.media.MEDIA_NONE){alert('Recording failed. Please check the permissions for accessing the microphone');}},1000);
The text was updated successfully, but these errors were encountered:
@mario-van-zadel
setTimeout solution is not working, I need to use document.addEventListener('resume');
One more thing I found for android platform.
I am using cordova-diagnostic-plugin to check diagnostic.getExternalStorageAuthorizationStatus.
First time: return NOT_REQUESTED
Rejected 1 time: return DENIED_ONCE
Rejected 2 time: return NOT_REQUESTED (it should be DENIED_ALWAYS)
** And app will never popup ask for permission even close and restart app.
I'm having the same issue, but once permission is denied, the mediaObject does not do anything, I'm not able to get any subscriptions to fire (which may be intended?)
I've tried
onStatusUpdate
successCallback
errorCallback
onSuccess
onError
The last two do work when permissions are granted. I was thinking about using getCurrentAmplitude (which resolves 0 when permissions not granted during record/play) to check if anything was happening, but not sure I like that or not.
Feature Request
Motivation Behind Feature
When using the plugin for recording some audio, the user probably denied accessing the microphone (by using the operation system's permission system). Currently there seems to be no explicit way to detect his.
onError
doesn't inform the developer about the denied permission request.Feature Description
When accessing the microphone, the user get's a permission request from by the OS. If the user denies the request, the
onError
observable should inform the user about the issue when trying to use the device's microphone.Workaround
To detect issues with recording the audio, it's possible to check the media's status after e.g. 1 second.
If there are some issues with starting the recording, the status stays at
MEDIA_NONE
(instead of switching toMEDIA_RUNNING
).The text was updated successfully, but these errors were encountered: