How do I know which Android devices support video playback?

I made an application to watch videos on Android devices. These are basically .mp4 videos uploaded to VideoView . From the following documentation ( http://developer.android.com/guide/appendix/media-formats.html ) playback on mp4 video is supported on Android devices version 3+.

I already added the android:minSdkVersion="11" manifest file android:minSdkVersion="11" to filter out old versions of Android from downloading the application, but I still get feedback from users running new versions of Android (e.g. 4.1, 4.2) who complain about receiving "Video Not Playing" error message.

Since there is no way (which I know, please correct me if I am wrong) to check the video playback using the emulator, I do not know what is happening.

Is there a way to test the device’s ability to play videos, or at least make the emulator play videos, so can I fix this problem?

PD. for those who are interested, here is a link to my app on Google Play. As you can see, negative reviews will crush me: https://play.google.com/store/apps/details?id=com.thirtymatches.vineflow

+1
source share
1 answer

If you look closely at the Google compatibility matrix, you will see that MP4 / H264 encoding support began with the release of Android 3.0. MP4 / H.264 playback was supported by all Android devices on Android 1.0, so you do not need to limit the availability of new versions of Android (unless you have other API compatibility requirements).

Through VideoView, video playback on all these devices is performed using the hardware decoder provided by the phone chipset. To ensure compatibility, the video must be encoded to the lowest denominator. Google provides "Video Encoding Recommendations" at the bottom of the page that you linked; I also wrote an answer describing how we transcoded to the MP4 / H264 form, which plays on all Android devices.

Not knowing what Vine does with their videos, perhaps the video is not all encoded using the unified encoder settings. They can shoot videos directly from phones and transfer them without additional processing on the server side to ensure wide compatibility; I dont know. In this case, it may seem difficult for you to develop an Android application that can display content without: a) implementing your own software codec (for example, such as RockPlayer, MX Player or VLC) or b) transcoding the video on the server (which is likely to run into Vine terms of service).

+1
source

Source: https://habr.com/ru/post/1388125/


All Articles