0

私のアプリケーションでは、webviews内にwebviewsとビデオがありますが、ビデオが再生されていません..以下はwebviewコードのスニペットです。

Web.setWebViewClient(new myWebClient()); 
Web.getSettings().setJavaScriptEnabled(true);
Web.getSettings().setPluginsEnabled(true);
Web.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U; Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17");
4

1 に答える 1

2

2日後、それを行うための簡単な方法を探しています。これが私にとって、最良かつ最も単純な解決策です。

public CustomViewCallback mCustomViewCallback;

@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
    super.onShowCustomView(view, callback);
    if (view instanceof FrameLayout) {
        FrameLayout customViewContainer = (FrameLayout) view;
        mCustomViewCallback = callback;
        if (customViewContainer.getFocusedChild() instanceof VideoView) {
            VideoView customVideoView = (VideoView) customViewContainer.getFocusedChild();
            try {
                Field mUriField = VideoView.class.getDeclaredField("mUri");
                mUriField.setAccessible(true);
                Uri uri = (Uri) mUriField.get(customVideoView);
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(uri, "video/*");
                mActivity.startActivity(intent);
                new Handler().post(new Runnable() {
                    @Override
                    public void run() {
                        mCustomViewCallback.onCustomViewHidden();
                    }
                });
            } catch (Exception e) {
            }
        }
    }
}

この助けを願っています...

PS:YouTubeで動作します

于 2013-03-11T10:24:44.510 に答える