Error 701 while trying to play a sound file

What should i change in manifest to make this work ?

This has been explained here

Taifun

Okay i followed the instructions -
Used these blocks for permission -
blocos

Also changed the manifest according to bodymindpower -
I Replaced line uses-permission android:maxSdkVersion=“29” android:name=“android.permission.WRITE_EXTERNAL_STORAGE”/ with uses-permission android:name=“android.permission.WRITE_EXTERNAL_STORAGE”/ .

But still there is a problem while reading file, In my android 8 version its working fine. But in android 11 the sound in not playing when i select any from the list, here are the blocks -


The files are visible, but it shows error when we click on any file. @Taifun

You forgot to tell us, which error you get. .
Also what about providing an example path to one of the files you like to play?
And make sure to replace all spaces in the path or filename by %20, see also the Jukebox example here App Inventor Extensions: File | Pura Vida Apps

Taifun

This is the error, i am facing only on android 11 or above 11+.

file:///storage/emulated/0/Download/1_VMI.wav

Actually i am just looking for the files my app generated, so i already left no spaces in the file name. So i think, i don’t need to replace anything.

Also i didn’t posted much details because its working absolutely fine in android version 8.
But the issue is with android 11 or above 11+.

I think its a bug or issue with some permission. @Taifun Please help.

Try this tip

Taifun

Hey i tried many blocks with your suggestions but unable to get the right way to implement the blocks accordingly.

Please can you tell me what should i modify in this block -

I also try to change the list view with your suggested join block but get the same results as earlier.

Please tell me where should i use this block in my blocks to get the solution from this error-
blocks(13)

@Taifun

You said, you get error 701 while trying to play a sound file
According to the linked thread, you have to use a full path to set the source of the sound file before playing it

Taifun

How to do that i those blocks ?

Also, its working absolutely fine except in android 11 or above 11+ version. Why ?

Search the block Player.Source, use the join block and prepend the text file:// to your current source to get a full path

Good question… My guess is, it will work for all Android versions using a full path…

Taifun

You are right, but in my Player.Source there are different blocks use. I tried to add this koin file:// but it didn’t work, may be i didn’t use it in the correct way.

Please tell me how should i implement this join block in player.source. @Taifun

Ohhh you are right

Taifun

1 Like

Thank you so much @Taifun for the solution, it works well.
Also sorry for little delay in response, as i was busy in Independence day.

Just after that we click on the file, the app asked for read permission too on android 11 and 11+

So i modified the permission blocks like this -

Just need your approval, that i am executing in the right way to take both read & write permission for all android versions ?

Thank you so much.

yes, this is a Kodular bug, you can do that as workaround…
the question is, why are you asking for write permission? Does your app write anything?
Taifun

1 Like

The main question is whether the sound file to be played was created by the app itself.
If not, (only) READ permission is required on all Android versions. Otherwise READ permission is not required on Android 11+ (neither with the Player component nor TaifunPlayerextension). But it might be necessary to check whether this file has already been created by the Companion app (on one of the Android 11+ test devices) …

App features include the ability to record sound, display it in the download folder, and play sound from the app’s file list.

So first I record the sound in ASD, then copy that from ASD to the download folder, then list the recorded sound from the download folder in the app.

That’s the whole function @Taifun

Yes, its been recorded by the user in the app.

First i tried without using read permission in Android 11 version but it ask me to enable the read permission so read that file. Also only Write permission works as read + write on android version less then 11.

I don’t use companion app, i just use read android devices or android studio simulator for that.

Try this one on your Android 11+ devices.
PlayerPermissionAndroid11Plus.apk (5.5 MB)

It copies a sound from assets to /Download and plays it from there. It should work without any storage permissions (WRITE / READ) on Android 11+.

Check it on real devices with Android 11+ and report …

What’s so hard to understand?
The app creates a sound by copying it from the assets in /Download (using the TaifunFile ext). The sound can then be played with the Player component without READ permission.

So it’s not like you claim that READ permission is required on Android 11+ if the file is created by the app.

1 Like

Sorry by mistake i tried another app on Android studio,

So here is the report of your app.
On android version 8 -
I faces these 2 errors -


And on android studio 11+ simulator
Nothing happened while i click on the button.