Saturday, August 27, 2011

[android-developers] Implementing onShowCustomView on Android 3.1 throws in HTML5VideoFullScreen

Hi,

I'm trying to play video in html on fullscreen. When I click on
fullscreen button in video method onShowCustomView is fired. Here is
my implementation:

public void onShowCustomView(View view, CustomViewCallback callback)
{
super.onShowCustomView(view, callback);
if (view instanceof FrameLayout) {
customComponenet.addView(view, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT,
Gravity.CENTER));
customComponenet.setVisibility(View.VISIBLE);
}
}
Where customComponenet is FrameLayout placed on top of my current
layout. Wideo is playing good, it's visibile and everything seams to
be ok but it throws:
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): FATAL EXCEPTION: main
08-27 22:16:07.520: ERROR/AndroidRuntime(7235):
java.lang.NullPointerException
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.webkit.HTML5VideoFullScreen.switchProgressView(HTML5VideoFullScreen.java:
320)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.webkit.HTML5VideoView.setPlayerBuffering(HTML5VideoView.java:
319)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.webkit.HTML5VideoView.start(HTML5VideoView.java:85)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.webkit.HTML5VideoViewProxy
$VideoPlayer.onPrepared(HTML5VideoViewProxy.java:257)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.webkit.HTML5VideoViewProxy.onPrepared(HTML5VideoViewProxy.java:
278)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.webkit.HTML5VideoView.onPrepared(HTML5VideoView.java:265)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.webkit.HTML5VideoFullScreen.onPrepared(HTML5VideoFullScreen.java:
164)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:
1456)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.os.Handler.dispatchMessage(Handler.java:99)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.os.Looper.loop(Looper.java:132)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
android.app.ActivityThread.main(ActivityThread.java:4028)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
java.lang.reflect.Method.invokeNative(Native Method)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
java.lang.reflect.Method.invoke(Method.java:491)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:844)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
08-27 22:16:07.520: ERROR/AndroidRuntime(7235): at
dalvik.system.NativeStart.main(Native Method)

What am I doing wrong?

My WebView settings:
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginState(PluginState.ON);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setDatabasePath("/data/data/" +
App.class.getPackage().getName() + "/databases");
webView.getSettings().setSupportZoom(false);

I'm testing on Galaxy Tab 10.1, on default browser this is working
just fine. I can switch to fullscreen. Moreover in my app when I play
video embeded I can hear only sound and see status bar below area
where video should be, while on browser I can see video both embeded
in WebView and on fullscreen.

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

No comments:

Post a Comment