मैं वर्तमान में स्क्रीन ओरिएंटेशन पोर्ट्रेट के साथ एक एप्लिकेशन पर काम कर रहा हूं, और मेरे पास एचटीएमएल 5 वीडियो है जिसके लिए पूर्णस्क्रीन समर्थन की आवश्यकता है। मैंने वेबव्यूम में एक वेबक्रॉम क्लाइंट जोड़ा, कुछ तरीकों को ओवरराइड किया। जब मैं पोर्ट्रेट अभिविन्यास पर चिपक जाता हूं तो सबकुछ ठीक काम कर रहा है, लेकिन जब मैं पूर्णस्क्रीन जाने पर लैंडस्केप पर अभिविन्यास स्विच करने का प्रयास करता हूं, तो मुझे एक क्रैश हो गया। कोई सुराग ?पूर्णस्क्रीन जाने पर एचटीएमएल 5 वीडियो क्रैश
Overrided तरीके:
public void onShowCustomView(View view, CustomViewCallback callback) {
super.onShowCustomView(view, callback);
if (mCustomViewContainer != null) {
callback.onCustomViewHidden();
return;
}
if(interfazWeb==null)
interfazWeb = (FragTabActivity) getActivity();
if (view instanceof FrameLayout) {
mCustomViewContainer = (FrameLayout) view;
mCustomViewCallback = callback;
interfazWeb.getCustomContentView().setVisibility(View.INVISIBLE);
interfazWeb.addContentView(mCustomViewContainer, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT, Gravity.CENTER));
interfazWeb.setBackDelegate(new BackDelegate(){
public boolean shouldOverrideBackButton() {
if(mCustomViewCallback!=null){//first calling onHideCustomView()
onHideCustomView();
return true;
}
return false;
}
});
mCustomViewContainer.bringToFront();
//interfazWeb.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
@Override
public void onHideCustomView() {
// TODO Auto-generated method stub
if(interfazWeb==null)
interfazWeb = (FragTabActivity) getActivity();
if(mCustomViewContainer!=null){
ViewGroup parent = (ViewGroup) interfazWeb.getCustomContentView().getParent();
if(parent!=null){
parent.removeView(mCustomViewContainer);
interfazWeb.getCustomContentView().setVisibility(View.VISIBLE);
}
}
if(mCustomViewCallback!=null){
mCustomViewCallback.onCustomViewHidden();
mCustomViewCallback = null;
}
//interfazWeb.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
@Override
public Bitmap getDefaultVideoPoster() {
// TODO Auto-generated method stub
return Bitmap.createBitmap(1, 1, Config.ARGB_8888);
}
@Override
public View getVideoLoadingProgressView() {
// TODO Auto-generated method stub
return new ProgressBar((Context) getActivity());
}
लॉग कहते हैं:
10-31 11:09:36.336: E/AndroidRuntime(8098): java.lang.NullPointerException
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.webkit.HTML5VideoView.isPlaying(HTML5VideoView.java:122)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.webkit.HTML5VideoViewProxy$VideoPlayer.isPlaying(HTML5VideoViewProxy.java:253)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:402)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.os.Handler.dispatchMessage(Handler.java:99)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.os.Looper.loop(Looper.java:137)
10-31 11:09:36.336: E/AndroidRuntime(8098): at android.app.ActivityThread.main(ActivityThread.java:4758)
10-31 11:09:36.336: E/AndroidRuntime(8098): at java.lang.reflect.Method.invokeNative(Native Method)
10-31 11:09:36.336: E/AndroidRuntime(8098): at java.lang.reflect.Method.invoke(Method.java:511)
10-31 11:09:36.336: E/AndroidRuntime(8098): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-31 11:09:36.336: E/AndroidRuntime(8098): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-31 11:09:36.336: E/AndroidRuntime(8098): at dalvik.system.NativeStart.main(Native Method)
संपादित करें: मैं अपने प्रकट में इस लाइन है:
android:configChanges="keyboardHidden|orientation|locale|screenLayout"
क्या आप इसे हल करने में मेरी मदद कर सकते हैं [समस्या] (http://stackoverflow.com/questions/14156411/loading-youtube-video-through-i-frame-in-android-webview) – edwin
मेरे पास बिल्कुल वही है समस्या, लेकिन केवल गैलेक्सी एस 3 पर, जब आप वापस दबाते हैं (बाहर निकलने के लिए पूर्णस्क्रीन के लिए) – Pauland
@ पॉलैंड क्या आपको इस समस्या का समाधान मिला? मुझे यह समस्या एस 3 में भी मिल रही है। क्या आप मेरी मदद कर सकते हैं? – Noundla