Оптимизация приложения для воспроизведения видео для Google Play Store - PullRequest
0 голосов
/ 23 марта 2020

Я делаю игру в Unity, в которой используется множество кат-сцен и видео, и у меня возникло множество проблем при ее оптимизации для Android и Play Store.

Собственный VideoPlayer Unity Оказалось, много проблем с производительностью, поэтому я пошел и установил UMP (Universal Media Player) для Android и iOS. Создание сборки и загрузка ее по проводам на телефон Android и Chromebook могут без проблем запустить приложение.

Однако, когда я загружаю тот же APK в Google Play Store, видео неожиданно отказывается играть в. Я должен отметить, что это большое приложение, и мне пришлось загружать его с разделенным двоичным файлом. Я изучил это, проверил, имеет ли это отношение к разрешениям (что, похоже, не так), и наблюдал за телефоном с помощью Android Studio, чтобы проверить, что идет не так.

Это код ошибки, который отображается:

03-23 18:48:41.137 8409-8456/? E/Unity: Native player path error: java.io.IOException: setDataSource failed.
03-23 18:48:41.137 8409-8456/? E/MediaPlayerNative: prepareAsync called in state 1, mPlayer(0x0)
03-23 18:48:41.151 8409-8456/? E/Unity: AndroidJavaException: java.lang.IllegalStateException
                                        java.lang.IllegalStateException
                                            at android.media.MediaPlayer.prepareAsync(Native Method)
                                            at unitydirectionkit.universalmediaplayer.nativeplayer.MediaPlayerNative.play(MediaPlayerNative.java:108)
                                            at unitydirectionkit.universalmediaplayer.core.UniversalMediaPlayer.exportPlay(UniversalMediaPlayer.java:171)
                                            at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
                                            at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0)
                                            at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:95)
                                            at android.os.Handler.dispatchMessage(Handler.java:102)
                                            at android.os.Looper.loop(Looper.java:214)
                                            at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
                                          at UnityEngine.AndroidJNISafe.CheckException () [0x00000] in <00000000000000000000000000000000>:0 
                                          at UnityEngine.AndroidJNISafe.CallBooleanMethod (System.IntPtr obj, System.IntPtr methodID, UnityEngine.jvalue[] args) [0x00000] in <00000000000000000000000000000000>:0 
                                          at UnityEngine.AndroidJava

Видео воспроизводится с UMP из StreamingAssets и представляет собой файл .M4V. UMP воспроизводит их с помощью собственного API-интерфейса Mediaplayer Android.

Может кто-нибудь помочь мне здесь? Я понятия не имею, что происходит не так.

...