2012-06-02 2 views
1

У меня есть активность, которая отображает веб-страницу с помощью WebView. На этой странице есть ссылка на видеоролик YouTube (так что это не видео, которое я могу или нужно вставлять).WebView - видео не воспроизводятся

Проблема в том, что видео не воспроизводится - я вижу изображение предварительного просмотра видео с помощью значка клика, но при нажатии на него нет ответа. Есть ли что-то, что можно сделать?

public class DisplayWebPage extends Activity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.display_web_page); 

     Bundle extras = getIntent().getExtras(); 
     String url = extras.getString("url"); 
     WebView webview = (WebView)findViewById(R.id.WebView1); 

     webview.setWebViewClient(new WebViewClient()); 
     webview.getSettings().setJavaScriptEnabled(true); 
     webview.loadUrl(url); 
    } 
} 
+0

Вы можете использовать код для этого может быть. –

+0

проверить ссылку, указанную в моем ответе, по адресу http://stackoverflow.com/questions/10208439/html5-video-doesnt-play-with-android/10209684#10209684 и загрузить исходный код с использованием svn, в котором используется custome webview и который работает fine – Khan

ответ

5
public class MyPdfViewActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    WebView mWebView=new WebView(MyPdfViewActivity.this); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setPluginsEnabled(true); 
    mWebView.loadUrl(youtube_link); 
    setContentView(mWebView); 
    } 
} 

Update :: Если выше doent работы попробуйте ниже ::

public class main extends Activity { 
    /** Called when the activity is first created. */ 
    @ Override 


    public void onCreate (Bundle savedInstanceState) { 
     super. onCreate (savedInstanceState); 



     setContentView (R.layout.main); 

     WebView web = (WebView) findViewById (R.id.webView); 
     web. getSettings().setJavaScriptEnabled (true); 
     web. getSettings().setJavaScriptCanOpenWindowsAutomatically (false); 
     web. getSettings().setPluginsEnabled (true); 
     web. getSettings().setSupportMultipleWindows (false); 
     web. getSettings().setSupportZoom (false); 
     web. setVerticalScrollBarEnabled (false); 
     web. setHorizontalScrollBarEnabled (false); 


     web. loadUrl ("THE URL TO YOUR WEBVIEW SITE SHOULD GO HERE"); 

     web. setWebViewClient (new WebViewClient() { 
      @ Override public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.startsWith("vnd.youtube")){ 

      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 

      return true; 
      } 
      else 
      { 
      return false; 
      } 
      } 
     }); 
    } 

} 
+0

Я думаю, что второй пример не имеет отношения к делу, потому что я не открываю прямой URL-адрес YouTube. Первый из них помог мне понять, что я должен удалить следующую строку из своего кода: «webview.setWebViewClient (новый WebViewClient());» - и как только я это сделал, видео работало (после запроса выбрать, что должно использоваться для отображения это, что хорошо для меня). – Amit

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