theothernt / AerialViews

A screensaver for Android TV devices including Nvidia Shield, Fire TV, and Chromecast with Google TV. Inspired by Apple TV's video screensaver.
GNU General Public License v3.0
418 stars 32 forks source link

Local Playback for Non Shield Devices #73

Closed jordanwalkert closed 1 year ago

jordanwalkert commented 1 year ago

I am using this on a Zidoo Z1000 Pro. Playing from Apple works very well, however local files are unable to be used because there is no “scan for media automatically” setting like Shield users have.

This results in no media files being found regardless of internal storage or USB storage. Always results in 0 files found and an error number in the corner when screensaver starts. If there was a setting within the app to allow it to search for the files, it would be hugely appreciated. Thank you so much!

theothernt commented 1 year ago

By default, all Android devices should be supported as I use the standard methods to 'find' media files - videos only, in this case. But non-standard or uncertified Android devices can have changes made to the OS which cause problems with certain apps.

  1. When you enabled local files in Settings > Any Videos > Local Videos, did the app ask for permission?
  2. When you plug in USB storage with videos on it, can you access the files in any other apps?
jordanwalkert commented 1 year ago

It did not ask for permission, but in the android settings I see that the app does have access to “Storage” which is the main internal hard drive.

I have put the files on both that internal storage drive as well as the USB. It’s not able to scan or find any video files anywhere actually. I have several folders with various videos on both the internal storage and usb, it just doesn’t seem to be scanning or finding any at all. Other apps are able to access these files.

theothernt commented 1 year ago

Hmm... this device does seem to be customised in certain ways. No permission prompt is odd as it should show one on any recent version of Android.

If no files are found it means the 'media scanner' part of Android is missing or disabled.

  1. Are you able to contact the manufacturer and ask about this Android feature not working?
  2. Is you are able to setup a network share (SMB/Samba), that should work as it does not rely on an Android feature?
jordanwalkert commented 1 year ago

I don’t think the media scanner is disabled on the entire device, as this device has a home theater app and music player app which automatically scans and updates constantly as I add new movies and albums to it. I can also manually tell it to rescan and it will pick up movies and files from all connected drives. This issue is definitely isolated to the aerial view app unfortunately.

Do you know of anywhere in the settings I could double check or manually turn on this permission? Or is it possible to add a setting in the app to request permission/refresh the scanner? I am trying to run this device without an internet connection for speed and reliability, so a network option isn’t going to work for me at this time. I am using it currently to test this screensaver but would really love to just have all of the videos on a drive and not have to stream from Apple going forward. Sure wish I could get this issue sorted out. Let me know if there is any other info I can provide or anything you’d like me to try. On Sep 12, 2022, 10:17 AM -0500, Neil Turner @.***>, wrote:

Hmm... this device does seem to be customised in certain ways. No permission prompt is odd as it should show one on any recent version of Android. If no files are found it means the 'media scanner' part of Android is missing or disabled.

  1. Are you able to contact the manufacturer and ask about this Android feature not working?
  2. Is you are able to setup a network share (SMB/Samba), that should work as it does not rely on an Android feature?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

theothernt commented 1 year ago

I don’t think the media scanner is disabled on the entire device, as this device has a home theater app and music player app which automatically scans and updates constantly as I add new movies and albums to it. I can also manually tell it to rescan and it will pick up movies and files from all connected drives. This issue is definitely isolated to the aerial view app unfortunately.

Based on what you've said, it confirm that this custom version of Android has its own 'media scanner' for its apps. The Android version can't be refreshed, which itself cause issues - I've had to tell some users to restart their devices to 'see' new videos.

As I dev, I cannot even ask if the media scanner is running, I only ask for 'all videos on local, usb, etc storage' then it hands back a list of videos... or none.

There are others ways to access files but a lot of work is involved so it might be a while before a 'folder picker' exists in the app. A number of people have asked for this.

Do you know of anywhere in the settings I could double check or manually turn on this permission? Or is it possible to add a setting in the app to request permission/refresh the scanner? I am trying to run this device without an internet connection for speed and reliability, so a network option isn’t going to work for me at this time. I am using it currently to test this screensaver but would really love to just have all of the videos on a drive and not have to stream from Apple going forward. Sure wish I could get this issue sorted out. Let me know if there is any other info I can provide or anything you’d like me to try.

Every time you visit the Settings > All Videos screen, I double check permission - ie. I ask 'can I access local files'. If permission is denied, the 'Local Videos' feature is disabled. So it's very odd that you didn't even see a permission request (and this app is tested on phones where is works too even though it's not supported).

As I mentioned above, maybe restarting the device after adding the USB device will help? otherwise, I'll need to get logs from the app to see what's going on.