2015-02-05 5 views
0

Я создаю небольшую библиотеку Android в Eclipse, открыв новую активность, поместив в нее WebView и загрузив страницу веб-сайта WebView с видео. Я использую WebView как:Android Webview Видео не работает

webView.setWebChromeClient(new WebChromeClient() { 
     @Override 
     public void onProgressChanged(WebView view, int newProgress) { 
      if (newProgress == 100) { 
       showContentOrLoadingIndicator(true); 
      } 
     } 

    }); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    }); 

и

webView.loadUrl("http://www.example.com/mobile/player/" + VeediUtils.GAME_ID + "/" + ((JSONObject)VeediUtils.LEVELS.get(gameLevel - 1)).getInt("unique_id") + ".html" + ((debugState == 0) ? ("") : ("?debug=veedi"))); 

Следующий шаг, я построил новый проект, добавил мой первый проект, как Android зависимость, и все работает нормально, как это должно быть. Но когда я отдал свою библиотеку другому разработчику (у меня нет доступа к его коду), и он добавил его как зависимость от Android к своему проекту, он обнаружил проблему: он слышит звук, но вместо видео он видит черный экран. Итак, вот вопрос: что это может быть в его приложении, что нарушает мое видео в WebView? Благодарю.

ответ

1

Веб-просмотр не поддерживает HTML5-видео.

См. here для библиотеки для правильной поддержки видео.

Если видео находится в формате флэш-памяти, оно не будет работать на Android 4.4 и выше. В противном случае пользователю необходимо установить flashplayer, и вам нужно включить плагины в вашем веб-просмотре.

+0

Нет, я использую только формат * .mp4, и здесь проблема: это видео показано в моем проекте, но не показано в его проекте на тех же устройствах ... P.S. спасибо за эту библиотеку, я проверю. – Simcha

+0

Это странно, оно должно работать, если оно находится на одном устройстве. Он каким-то образом изменил код? Может быть, вы можете попытаться удалить метод setWebViewClient из своего веб-представления, поскольку он, похоже, ничего не делает? – JonasCz

+0

Нет, у него есть только мои скомпилированные классы. И мне нужно «setWebViewClient», потому что мне нужен его метод «shouldOverrideUrlLoading», потому что это устройство не запрашивает у пользователя в первый раз: выбрать браузер для моего url в WebView. – Simcha

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