react-native-audio-recorder-player icon indicating copy to clipboard operation
react-native-audio-recorder-player copied to clipboard

Sound recorder issue of read and write of external storage in Android 13

Open abduldeveloper opened this issue 1 year ago • 22 comments

Version of react-native-audio-recorder-player 3.5.1

Version of React Native 0.68.5

Platforms you faced the error (IOS or Android or both?) Android

Expected behavior Audio recording without forced access and current play store are need to change the buildToolsVersion = "33.0.0" compileSdkVersion = 33 targetSdkVersion = 33

Actual behavior Due to the change of storage access in Android 13, it is not possible to record audio

After many search about the permissions and reading the Android documents and reading the source of this library, I realized that this library does not actually work on Android 12 and 13. According to this document, WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE permissions do not exist in Android 13, and READ_MEDIA_AUDIO is available instead. Storage permissions are also always shown as never_ask_again . If WRITE_EXTERNAL_STORAGE is necessary in this library, and if this permission is not granted, the promise will be rejected. Please check this because practically this library does not work on Android 12 and 13. ** buildToolsVersion = "33.0.0" compileSdkVersion = 33 targetSdkVersion = 33 ** this is current sdk version used but previous used the 31 of sdk it works on it now complusary to chanage the sdk version so i having the issue in android 13 permission comes of never ask again const grants = await PermissionsAndroid.requestMultiple([ PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE, PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE, PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, ]); for write external and read extrernal storage came of log never_ask_again how to resolve t

abduldeveloper avatar Sep 08 '23 17:09 abduldeveloper

FYI: configctl webgui restart on the shell did the trick for me, but the web GUI still does not start successfully on reboot.

codegain avatar Feb 11 '24 13:02 codegain

Found this in the log file relating to lighttpd, only appears in the log after 24.1 upgrade:

/usr/local/etc/rc.bootup: The command '/usr/local/bin/flock -ne /var/run/lighty-webConfigurator.pid /usr/local/sbin/lighttpd -f /var/etc/lighty-webConfigurator.conf' returned exit code '255', the output was '2024-02-11 14:17:10: (/usr/obj/usr/ports/www/lighttpd/work/lighttpd-1.4.73/src/mod_openssl.c.1356) SSL: inactive/expired X509 certificate '/var/etc/cert.pem' 2024-02-11 14:17:10: (/usr/obj/usr/ports/www/lighttpd/work/lighttpd-1.4.73/src/network.c.588) bind() [XXXX::XXXX:XXXX:XXXX:XXXX]:443: Can't assign requested address'

I'm not using any certificate, only self-signed.

codegain avatar Feb 11 '24 13:02 codegain

Most likely binding to an interface, keep settings default or select a loopback for most consistent results.

AdSchellevis avatar Feb 11 '24 13:02 AdSchellevis

Same Problem for me. System -> Settings -> Administration -> Listen Interfaces: LAN -> HTTP Redirect: Checked "Disable web GUI redirect rule" Port is not used in any other context on the firewall.

Same Firmware: Running as VM on Proxmox 8.1.4 OPNsense 24.1.1 (amd64).

Plugins & Tests: Export config - import & reboot - no difference HAProxy - Disable Plugin, reboot - no difference os-ddclient - Uninstall ACME - Disable Plugin, reboot - no difference qemu-guest-agent - Uninstall, reboot - no difference

knumsi avatar Feb 16 '24 15:02 knumsi

https://docs.opnsense.org/manual/settingsmenu.html#listen-interfaces

fichtner avatar Feb 16 '24 15:02 fichtner

Interesting. This link was posted in another context as well, but that time it had the default settings. Because of this link I changed the settings to the following settings AFTER the webinterface did not come up. System -> Settings -> Administration -> Listen Interfaces: LAN -> HTTP Redirect: Checked "Disable web GUI redirect rule"

Changed back again, because you posted that link. System -> Settings -> Administration -> Listen Interfaces: None selected = All -> HTTP Redirect: Unhecked "Disable web GUI redirect rule"

Now it comes back up again. Well - something inbetween did resolve this issue. Thank you.

knumsi avatar Feb 16 '24 16:02 knumsi

Seems like on the 24.1 upgrade the configuration for Interfaces -> LAN "IPv6 configuration type" was set to "Track interface". I don't use IPv6 on WAN or LAN and can't remember to have set it myself.

Setting it to "None" and rebooting did fix this for me.

Maybe it was binding itself to a IPv6 adress? Would seem so given my previous error message bind() [XXXX::XXXX:XXXX:XXXX:XXXX]:443: Can't assign requested address where XXXX was an IPv6 adress.

codegain avatar Feb 16 '24 16:02 codegain

Seems like on the 24.1 upgrade the configuration for Interfaces -> LAN "IPv6 configuration type" was set to "Track interface". I don't use IPv6 on WAN or LAN and can't remember to have set it myself.

It was set to the factory default actually.

HTTP Redirect: Unhecked "Disable web GUI redirect rule"

If you have haproxy or nginx running make sure to not overlap your port 80 by disabling this because otherwise the other service will complain about it and sometimes the GUI loses that race

Cheers, Franco

fichtner avatar Feb 16 '24 16:02 fichtner

Having this issue but only when using the hostname, I can load in fine using the IP . Nothing changed on my system other then the recent update.

SilentGlasses avatar Feb 28 '24 01:02 SilentGlasses

Turning off Track Interface for IPv6 fixed it for me as well

realslacker avatar Mar 07 '24 17:03 realslacker