Video Player - source

well, the assets directory does not seem to be a good choice, because the assets directory is read only after building the app...
why not using the application specific directory, which is
/storage/emulated/0/Android/data/<packageName>/files/

EDIT: afaik the video placer component expects a relative path, which woud be
/Android/data/<packageName>/files/yourVideo.mp4

Taifun

The simplest way (to download files / a video to the ASD) might be something like this:

Thank you Taifun and Anke.

The problem is not ftp downloading to a wrong folder. My Folder (in and out of companion was correct all along). I installed Anke extention to confirm and folder is not the problem.

The problem is the size of the File. VideoPlayer1 does not play it. It reports an error as "File not found" (very misleading).

I uploaded to my server another test mp4 i always use which is 770KB then used my App (not companion) to download it and Player worked fine.

So my only solution is a Video Player that can play any size mp4 files. Any recommendations ? I really don't want to use an external player.

Thank you again so much.

I never heard, that there is a filesize limit for the built in video player component..
do you like to share your relevant blocks, so we can check, if these are correct?

for other video players you might want to search the extensions directory App Inventor Extensions | Pura Vida Apps

Taifun

Very confusing thing is that mp4 (57MB) does play in companion but not when i generate the apk.

to find out, what is going on, you could use logcat

also which device and Android version are you using for your tests?

Taifun

Android 10
Samsung Galaxy Tab A 8"

I see my mp4 downloaded to the correct folder. I used Anke's tool to display the mp4 location.

I will next remove everything else from my "Play Video" button to see if thats the problem.

you are trying to start the video before it has been completely downloaded ...
use the AfterDownload event (or similar) and move all your blocks below the DownloadToASD method into that event

Taifun

The ftp process is done on another screen. It is only after download complete event, which turna Notifier progress bar off, that I am able to move to the second screen.

After file is downloaded the first time, i dont have the need to download again and proceed to the screen where the Player is. I just click on PlayVideo button and that's the block you see.

I moved "source" to the Main Menu module and out of the "PlayVideo" block.

a

The 770KB mp4 works fine at all times.

Will use logcat now.

1 Like

ok, I see, I have been confused by the method DownloadToASD.AppSpecificDirectory
which does not download anything, it just returns the path to the ASD (Application specific directory).. :slight_smile:

you are downloading the file to the ASD, but in your latest screenshot you do not set the correct path to the downloaded file (your large blue arrow).... use again the method DownloadToASD.AppSpecificDirectory together with your file name, as already mentioned earlier it must be a relative path for the video player component...

/Android/data/<packageName>/files/yourVideo.mp4

also it would help you very much to use Do it to debug your blocks to find out, if the path is correct...
see also tip 4 here https://puravidaapps.com/learn.php
see also Live Development, Testing, and Debugging Tools
Taifun


Trying to push the limits! Snippets, Tutorials and Extensions from Pura Vida Apps by Taifun.

Eureka !! (We should bring that exclamation back)

Now it works only as the apk and not inside companion.

  1. VideoPlayer1.Source moved out of the "PlayVideo" block.
  2. VideoPlayer1.Source = Anke's "DownloadToASD" element & "/" & mp4 file name.

Thank you both !!

Now, to the next headache lol

Try this and use the absolute path for the VideoPlayer.Source.
It downloads a 72MB video from Google Drive to the ASD and plays it with Companion:

video

grafik

Thank you Anke.

I will test this tomorrow.

Carlos

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

I ran into the VideoPlayer1.Source problem again.

My same Samsung Tablet i have been using is now in Kiosk mode and my .mp4 are installed along with my apk. The .mp4 must and are installed in the Download folder.

I have set VideoPlayer1.Source to /Download/Samsung/Content/myvideo.mp4 with no luck.

Any suggestion ?

Catlos

It would really help if you provided a screenshot of your relevant blocks, so we can see what you are trying to do, and where the problem may be.

To get an image of your blocks, right click in the Blocks Editor and select "Download Blocks as Image". You might want to use an image editor to crop etc. if required. Then post it here in the community.

Taifun


Trying to push the limits! Snippets, Tutorials and Extensions from Pura Vida Apps by icon24 Taifun.

Thank you Taifun for your help again.

My app plays the videos correctly when they were in my App path but now I am forced to play them from sdcard download.a