2012-04-25 3 views
0

В моем приложении есть webviews и видео внутри webviews.But видео не воспроизводится .. Ниже фрагмент кода Webview ..Android 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"); 

ответ

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

+0

+1. Хорошая находка! :) –

Смежные вопросы