Custom sounds not working - file open fails on Android 10/11
Custom sounds can be selected and appear registered in the UI but nothing plays. Tried .wav and .mp3 formats, to no avail.
Update: attached logcat showing file open fails, suggesting a possible problem with permissions (the app has been granted Storage in Settings FWIW).
According to this StackOverflow Q, changes may be needed for this to work on Android 10 and 11.
Related issue: #74 (closed)
Workaround suggested by @jonkeim verified to work on Android 10.
Device: guacamole
Android: 10 / LineageOS 17.1 21-03-14
03-26 03:17:07.928 20068 20068 D MeditationAssistant: pref_session_delay current value - 0:0
03-26 03:17:07.928 20068 20068 D MeditationAssistant: TimePreference (pref_session_delay) restoreValue: true - defaultValue: null - defaultv: 00:00 - time: 0:0
03-26 03:17:07.935 20068 20068 D MeditationAssistant: pref_session_interval current value - 1:0
03-26 03:17:07.935 20068 20068 D MeditationAssistant: TimePreference (pref_session_interval) restoreValue: true - defaultValue: null - defaultv: 00:00 - time: 1:0
03-26 03:17:07.947 20068 20068 D MeditationAssistant: pref_meditationstreakbuffer current value - 6:0
03-26 03:17:07.947 20068 20068 D MeditationAssistant: TimePreference (pref_meditationstreakbuffer) restoreValue: true - defaultValue: null - defaultv: 00:00 - time: 6:0
03-26 03:17:07.949 20068 20068 D MeditationAssistant: pref_session_delay value: 0:0
03-26 03:17:07.949 20068 20068 D MeditationAssistant: pref_session_interval value: 1:0
03-26 03:17:11.728 20068 20068 D MeditationAssistant: Selected: 1 - custom
03-26 03:17:21.173 20068 20068 D MeditationAssistant: Starting runnable
03-26 03:17:21.272 20068 20068 D MeditationAssistant: Stopping - start:0 stop:0
03-26 03:17:22.551 20068 20068 D MeditationAssistant: WAKELOCKER: Releasing all wakelocks
03-26 03:17:22.554 20068 20068 W MediaPlayer: Couldn't open /storage/emulated/0/SyncThing/Bells/255762__squidocto__bell-bowl-g-ish.wav
03-26 03:17:22.554 20068 20068 W MediaPlayer: java.io.FileNotFoundException: No content provider: /storage/emulated/0/SyncThing/Bells/255762__squidocto__bell-bowl-g-ish.wav
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1673)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1503)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1420)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.media.MediaPlayer.attemptDataSource(MediaPlayer.java:1101)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1073)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1001)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at sh.ftp.rocketninelabs.meditationassistant.MeditationAssistant.cacheSound(MeditationAssistant.java:12)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at sh.ftp.rocketninelabs.meditationassistant.MeditationAssistant.cacheSessionSounds(MeditationAssistant.java:5)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at sh.ftp.rocketninelabs.meditationassistant.MainActivity.pressMeditate(MainActivity.java:101)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at java.lang.reflect.Method.invoke(Native Method)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.view.View$DeclaredOnClickListener.onClick(View.java:6108)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.view.View.performClick(View.java:7259)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.view.View.performClickInternal(View.java:7236)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.view.View.access$3600(View.java:801)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.view.View$PerformClick.run(View.java:27892)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.os.Handler.handleCallback(Handler.java:883)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.os.Handler.dispatchMessage(Handler.java:100)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.os.Looper.loop(Looper.java:214)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at android.app.ActivityThread.main(ActivityThread.java:7356)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at java.lang.reflect.Method.invoke(Native Method)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
03-26 03:17:22.554 20068 20068 W MediaPlayer: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
03-26 03:17:22.555 20068 20068 W System.err: java.io.FileNotFoundException: /storage/emulated/0/SyncThing/Bells/255762__squidocto__bell-bowl-g-ish.wav: open failed: EACCES (Permission denied)
03-26 03:17:22.555 20068 20068 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496)
03-26 03:17:22.555 20068 20068 W System.err: at java.io.FileInputStream.<init>(FileInputStream.java:159)
03-26 03:17:22.555 20068 20068 W System.err: at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1182)
03-26 03:17:22.556 20068 20068 W System.err: at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1160)
03-26 03:17:22.556 20068 20068 W System.err: at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1076)
03-26 03:17:22.556 20068 20068 W System.err: at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1001)
03-26 03:17:22.556 20068 20068 W System.err: at sh.ftp.rocketninelabs.meditationassistant.MeditationAssistant.cacheSound(MeditationAssistant.java:12)
03-26 03:17:22.556 20068 20068 W System.err: at sh.ftp.rocketninelabs.meditationassistant.MeditationAssistant.cacheSessionSounds(MeditationAssistant.java:5)
03-26 03:17:22.556 20068 20068 W System.err: at sh.ftp.rocketninelabs.meditationassistant.MainActivity.pressMeditate(MainActivity.java:101)
03-26 03:17:22.556 20068 20068 W System.err: at java.lang.reflect.Method.invoke(Native Method)
03-26 03:17:22.556 20068 20068 W System.err: at android.view.View$DeclaredOnClickListener.onClick(View.java:6108)
03-26 03:17:22.556 20068 20068 W System.err: at android.view.View.performClick(View.java:7259)
03-26 03:17:22.556 20068 20068 W System.err: at android.view.View.performClickInternal(View.java:7236)
03-26 03:17:22.556 20068 20068 W System.err: at android.view.View.access$3600(View.java:801)
03-26 03:17:22.556 20068 20068 W System.err: at android.view.View$PerformClick.run(View.java:27892)
03-26 03:17:22.556 20068 20068 W System.err: at android.os.Handler.handleCallback(Handler.java:883)
03-26 03:17:22.556 20068 20068 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100)
03-26 03:17:22.556 20068 20068 W System.err: at android.os.Looper.loop(Looper.java:214)
03-26 03:17:22.556 20068 20068 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7356)
03-26 03:17:22.556 20068 20068 W System.err: at java.lang.reflect.Method.invoke(Native Method)
03-26 03:17:22.556 20068 20068 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
03-26 03:17:22.556 20068 20068 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
03-26 03:17:22.557 20068 20068 W System.err: Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
03-26 03:17:22.557 20068 20068 W System.err: at libcore.io.Linux.open(Native Method)
03-26 03:17:22.557 20068 20068 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
03-26 03:17:22.557 20068 20068 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252)
03-26 03:17:22.557 20068 20068 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
03-26 03:17:22.557 20068 20068 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7255)
03-26 03:17:22.557 20068 20068 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482)
03-26 03:17:22.557 20068 20068 W System.err: ... 21 more
03-26 03:17:22.557 20068 20068 E MeditationAssistant: Failed to load sound: /storage/emulated/0/SyncThing/Bells/255762__squidocto__bell-bowl-g-ish.wav
Edited by fernlover