Reproduzindo vídeo local no WebView no Android
Estou construindo um aplicativo com umWebView
Isso é suposto para reproduzir um vídeo, que é salvo localmente. Estranhamente, o player de vídeo não está trabalhando com arquivos de vídeo locais. Ele reproduz vídeos salvos em um servidor.
Os arquivos locais (html e video) são salvos em uma pastaassets/html_test
Aqui estão os arquivos.
HTML
<div class="video-container">
<p>Server</p>
<video poster="video/star.png" controls>
<source src="http://broken-links.com/tests/media/BigBuck.m4v" />
</video>
</div>
<div class="video-container">
<p>local</p>
<video poster="video/star.png" controls>
<source src="BigBuck.m4v" />
</video>
</div>
onCreate em Activity
WebView browser = (WebView) findViewById(R.id.browser);
WebSettings webSettings = browser.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON_DEMAND);
webSettings.setAllowFileAccessFromFileURLs(true);
browser.setWebChromeClient(new WebChromeClient());
browser.loadUrl("file:///android_asset/html_test/video.html");
O primeiro vídeo funciona, o segundo não. Eu tentei valores diferentes para osource
, nenhum deles trabalhou para mim:
<source src="BigBuck.m4v" />
<source src="file:///android_asset/html_test/BigBuck.m4v" />
Não tenho certeza se isso está relacionado, mas assim que pressiono o play,logcat
coloca isso:
01-07 12:19:18.073: E/MediaPlayer(32542): error (1, -2147483648)
01-07 12:19:18.073: E/MediaPlayer(32542): Error (1,-2147483648)
Eu não tenho idéia qual é o problema aqui. Qualquer ajuda seria muito apreciada.