Thank you very much! I could watch the video with this code.

The only problem is that the video only appears when I watch it on
fullscreen mode.

Why is that happening? Anyone knows?

I am testing it on Samsung Galaxy Tab.

Thank's in advance again!

2012/6/9 vaibs malviya <vaibs.malviy...@gmail.com>

> hy
> Deniz is correct, u should create your on custom view of web-view
> let me explain u ,see my code
> implement this code and check it out.
>
>
>
> *public class TestYoutubeVedio extends Activity *
> *{*
> *
> *
> *    HtmlvVido mWebView;*
> *   *
> *   *
> *  *
> *  *
> *   *
> *
> *
> *    @Override*
> *    public void onCreate(Bundle savedInstanceState)*
> * {*
> *        super.onCreate(savedInstanceState);*
> *     *
> *        mWebView = new HtmlvVido(this);*
> *
> *
> *        if (savedInstanceState != null) *
> *        {*
> *        mWebView.restoreState(savedInstanceState);*
> *        *
> *            *
> *        } else*
> *        {    *
> *        String Play = "<html><body bgcolor="+"#000000"+"><iframe
> width=\"1100px\" height=\"1500px\" src=\"
> http://www.youtube.com/embed/g6-8zkbCjl8\"; frameborder=\"0\"
> allowfullscreen></iframe></body></html>";      *
> *          *
> *        *
> *        }*
> *      *
> *        setContentView(mWebView.getLayout()); *
> *          *
> *    }*
> *
> *
> *    @Override*
> *    public void onSaveInstanceState(Bundle outState) *
> *    {*
> *    *
> *        super.onSaveInstanceState(outState);*
> *        mWebView.saveState(outState);*
> *       *
> *      *
> *    }*
> *
> *
> *    @Override*
> *    public void onStop() *
> *    {*
> *    *
> *        super.onStop();*
> *        *
> *        mWebView.stopLoading();*
> *    }*
> *    *
> *}*
>
> *create ur custom web-view *
>
>
> *public class HtmlvVido extends WebView*
> *{*
> *
> *
> *    private Context                             mContext;*
> *    private MyWebChromeClient                   mWebChromeClient;*
> *    private View                                mCustomView;*
> *    private FrameLayout                         mCustomViewContainer;*
> *    private WebChromeClient.CustomViewCallback  mCustomViewCallback;*
> *
> *
> *    private static FrameLayout                         mContentView;*
> *    private FrameLayout                         mBrowserFrameLayout;*
> *    private FrameLayout                         mLayout;*
> * *
> *    FrameLayout COVER_SCREEN_PARAMS1;*
> *
> *
> *   *
> *    static final String LOGTAG = "HTML5WebView";*
> *
> *
> *    @SuppressWarnings("deprecation")*
> * private void init(Context context) *
> *    {*
> *        mContext = context;     *
> *        Activity a = (Activity) mContext;*
> *
> *
> *        mLayout= new FrameLayout(context);*
> *       *
> * *
> *      *
> *      *
> *    *
> *      *
> *
> *
> *        mBrowserFrameLayout = (FrameLayout)
> LayoutInflater.from(a).inflate(R.layout.custum, null);*
> *     *
> *        *
> *      *
> *        mContentView = (FrameLayout)
> mBrowserFrameLayout.findViewById(R.id.main_content);*
> *        mCustomViewContainer = (FrameLayout)
> mBrowserFrameLayout.findViewById(R.id.fullscreen_custom_content);*
> *
> *
> *        mLayout.addView(mBrowserFrameLayout,COVER_SCREEN_PARAMS);*
> *       *
> *        *
> *
> *
> *        // Configure the webview*
> *        WebSettings s = getSettings();*
> *        s.setBuiltInZoomControls(true);*
> *        s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
> *
> *        s.setUseWideViewPort(true);*
> *        s.setLoadWithOverviewMode(true);*
> *      //  s.setSavePassword(true);*
> *        s.setSaveFormData(true);*
> *        s.setJavaScriptEnabled(true);*
> *      *
> *        mWebChromeClient = new MyWebChromeClient();*
> *        setWebChromeClient(mWebChromeClient);*
> *
> *
> *        setWebViewClient(new WebViewClient());*
> *
> *
> *setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);*
> *
> *
> *        // enable navigator.geolocation *
> *       // s.setGeolocationEnabled(true);*
> *       //
> s.setGeolocationDatabasePath("/data/data/org.itri.html5webview/databases/");
> *
> *
> *
> *        // enable Web Storage: localStorage, sessionStorage*
> *       // s.setDomStorageEnabled(true);*
> *
> *
> *        mContentView.addView(this);*
> *    }*
> *
> *
> *    public HtmlvVido(Context context) *
> *    {*
> *        super(context);*
> *        init(context);*
> *    }*
> *
> *
> *    public HtmlvVido(Context context, AttributeSet attrs) {*
> *        super(context, attrs);*
> *        init(context);*
> *    }*
> *
> *
> *    public HtmlvVido(Context context, AttributeSet attrs, int defStyle)*
> *    {*
> *        super(context, attrs, defStyle);*
> *        *
> *       *
> *        *
> *        init(context);*
> *    }*
> *
> *
> *    public FrameLayout getLayout() *
> *    {*
> *    *
> *        return mLayout;*
> *    }*
> *
> *
> *    public boolean inCustomView() {*
> *        return (mCustomView != null);*
> *    }*
> *
> *
> *    public void hideCustomView() {*
> *        mWebChromeClient.onHideCustomView();*
> *    }*
> *
> *
> *    @Override*
> *    public boolean onKeyDown(int keyCode, KeyEvent event) {*
> *        if (keyCode == KeyEvent.KEYCODE_BACK) {*
> *            if ((mCustomView == null) && canGoBack()){*
> *                goBack();*
> *                return true;*
> *            }*
> *        }*
> *        return super.onKeyDown(keyCode, event);*
> *    }*
> *
> *
> *    private class MyWebChromeClient extends WebChromeClient *
> *    {*
> *        private Bitmap      mDefaultVideoPoster;*
> *        private View        mVideoProgressView;*
> *
> *
> *        @Override*
> *        public void onShowCustomView(View view,
> WebChromeClient.CustomViewCallback callback)*
> *        {*
> *            //Log.i(LOGTAG, "here in on ShowCustomView");*
> *            HtmlvVido.this.setVisibility(View.GONE);*
> *
> *
> *            // if a view already exists then immediately terminate the
> new one*
> *            if (mCustomView != null) {*
> *                callback.onCustomViewHidden();*
> *                return;*
> *            }*
> *
> *
> *            mCustomViewContainer.addView(view);*
> *            mCustomView = view;*
> *            mCustomViewCallback = callback;*
> *            mCustomViewContainer.setVisibility(View.VISIBLE);*
> *        }*
> *        @Override*
> *        public void onHideCustomView() {*
> *            System.out.println("customview
> hideeeeeeeeeeeeeeeeeeeeeeeeeee");*
> *            if (mCustomView == null)*
> *                return;        *
> *
> *
> *            // Hide the custom view.*
> *            mCustomView.setVisibility(View.GONE);*
> *
> *
> *            // Remove the custom view from its container.*
> *            mCustomViewContainer.removeView(mCustomView);*
> *            mCustomView = null;*
> *            mCustomViewContainer.setVisibility(View.GONE);*
> *            mCustomViewCallback.onCustomViewHidden();*
> *
> *
> *            HtmlvVido.this.setVisibility(View.VISIBLE);*
> *            HtmlvVido.this.goBack();*
> *            //Log.i(LOGTAG, "set it to webVew");*
> *        }*
> *
> *
> *
> *
> *        @Override*
> *        public View getVideoLoadingProgressView() {*
> *            //Log.i(LOGTAG, "here in on getVideoLoadingPregressView");*
> *
> *
> *            if (mVideoProgressView == null) {*
> *                LayoutInflater inflater = LayoutInflater.from(mContext);*
> *                mVideoProgressView =
> inflater.inflate(R.layout.vedioloadingprogress, null);*
> *            }*
> *            return mVideoProgressView; *
> *        }*
> *
> *
> *         @Override*
> *         public void onReceivedTitle(WebView view, String title)*
> *         {*
> *            ((Activity) mContext).setTitle(title);*
> *         }*
> *
> *
> *         @Override*
> *         public void onProgressChanged(WebView view, int newProgress)*
> *         {*
> *             ((Activity)
> mContext).getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
> newProgress*100);*
> *         }*
> *
> *
> *         @Override*
> *         public void onGeolocationPermissionsShowPrompt(String origin,
> GeolocationPermissions.Callback callback) {*
> *             callback.invoke(origin, true, false);*
> *         }*
> *    }*
> *    *
> *
> *
> *
> *
> *    static final FrameLayout.LayoutParams COVER_SCREEN_PARAMS = new
> FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT,
> ViewGroup.LayoutParams.MATCH_PARENT);*
> *    *
> * *
> *}*
>
>
>
> *custom.xml*
> *
> *
> *
>
> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android";
> android:layout_height="fill_parent"
> android:layout_width="fill_parent"
> >
>         <LinearLayout
>  android:orientation="horizontal"
>  android:layout_height="wrap_content"
>  android:layout_width="fill_parent"
>  android:id="@+id/lener">
>
>  </LinearLayout>
>
>
>     <FrameLayout android:id="@+id/fullscreen_custom_content"
>         android:layout_width="match_parent"
>         android:layout_height="match_parent">
>
>           </FrameLayout>
>
>     <RelativeLayout android:orientation="vertical"
>         android:layout_width="match_parent"
>         android:layout_height="match_parent"
>         android:id="@+id/re"
>         >
>
>         <LinearLayout android:id="@+id/error_console"
>             android:layout_width="match_parent"
>             android:layout_alignBottom="@id/re"
>             android:layout_height="wrap_content"
>
>
>         >
>
>      </LinearLayout>
>
>         <FrameLayout android:id="@+id/main_content"
>             android:layout_width="fill_parent"
>             android:layout_height="match_parent"
>         >
>
>         </FrameLayout>
>     </RelativeLayout>
> </FrameLayout>
> *
>
>
> On Sun, Jun 10, 2012 at 1:04 AM, Angélica Oliveira <angelica....@gmail.com
> > wrote:
>
>> I tried playing .mp4 video, from my internal storage.
>>
>> I saw something about implement onShowCustomView but I didn't realize
>> what I have to do, can you (Deniz) give me an example?
>>
>> I already searched it on google, but I didn't find anything, I would like
>> to watch the video on the webview, not in a VideoView...
>>
>> Thank's!
>>
>>
>> 2012/6/7 Narendra Singh Rathore <nsr.curi...@gmail.com>
>>
>>> Are you sure, your device supports swf file, or you have proper
>>> plugin/player for it?
>>> May be that's the problem.
>>>
>>>
>>>  --
>>> 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+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/android-developers?hl=en
>>>
>>
>>  --
>> 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+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>>
>
>  --
> 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+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>

-- 
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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to