2014-04-04 19 views
5

Witam Szukam obejścia tego problemu z ostatnich dwóch dni, ale nadal nie otrzymałem żadnego rozwiązania. W webview Odtwarzam wideo z YouTube, wideo działa poprawnie po kliknięciu, ale jeśli kliknę ikonę Full Screen, nastąpi awaria aplikacji z poniższymi błędami. Próbowałem przesłonić onShowCustomeView w WebCromeClient, ale to nie działa. Wypróbowałem wszystkie rozwiązania z wątku WebView and HTML5 <video>. Rozwiązania działają na telefon z Androidem, testowałem go na Lg g2 i Xperii p i nexusie 7, ale na nokia x nadal się psuje. Czy jest jakiś sposób, aby zatrzymać odtwarzanie wideo na pełnym ekranie lub w ogóle grać?Wyjątek NullPointerException przy wprowadzaniu wideo w widoku pełnoekranowym nokia x

04-03 10:12:50.769 E/AndroidRuntime(3867): java.lang.NullPointerException 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.view.ViewGroup.addViewInner(ViewGroup.java:3384) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.view.ViewGroup.addView(ViewGroup.java:3256) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.view.ViewGroup.addView(ViewGroup.java:3232) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.webkit.HTML5VideoFullscreen.enterFullscreen(HTML5VideoFullscreen.java:253) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.webkit.HTML5VideoView.enterFullscreenVideoState(HTML5VideoView.java:535) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.webkit.HTML5VideoViewProxy$VideoPlayer.enterFullscreenVideo(HTML5VideoViewProxy.java:183) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:476) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.os.Handler.dispatchMessage(Handler.java:99) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.os.Looper.loop(Looper.java:137) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at android.app.ActivityThread.main(ActivityThread.java:4807) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at java.lang.reflect.Method.invokeNative(Native Method) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at java.lang.reflect.Method.invoke(Method.java:511) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:559) 

    04-03 10:12:50.769 E/AndroidRuntime(3867):  at dalvik.system.NativeStart.main(Native Method) 

    04-03 10:12:50.769 I/ActivityManager( 571): Notify an ApplicationCrash 
+0

http: //developer.android.com/reference/android/webkit/WebChromeClient.html#getVideoLoadingProgressView%28%29 – Sree

+0

jak to pomaga zatrzymać wideo na pełnym ekranie? – Sunny

+0

przesłanianie tej metody, aby zwrócić obiekt typu "nie-pusty" (na przykład, fałszywy widok 0x0 w układzie) i sprawdzić, czy nadal się zawiesza. Możemy spróbować zatrzymać wyświetlanie wideo na pełnym ekranie, jeśli ponownie się zawiesi. – Sree

Odpowiedz

3

Look this

nadrzędnymi tę metodę, aby powrócić niezerowym Zobacz obiekt (na przykład, podrobiony 0x0 Zobacz w układzie) i sprawdzić, czy nadal awarii

  @Override 
     public View getVideoLoadingProgressView() { 
      FrameLayout frameLayout = new FrameLayout(getSherlockActivity());  
      frameLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,  
      LayoutParams.MATCH_PARENT)); 
      return frameLayout; 
     } 
Powiązane problemy