Подтвердить что ты не робот

Включение воспроизведения видео в формате HTML5 в Android-браузере?

Я создаю простое приложение для веб-просмотра, которое теперь отображает веб-сайт, заполненный короткими видеоклипами, с помощью видеопроигрывателя HTML5. Все работает нормально в веб-браузере по умолчанию, но веб-просмотр не воспроизводит ни один из видеороликов.

Код Html, используемый для воспроизведения видеороликов, выглядит следующим образом:

<video poster preload="true" controls autoplay width="500" height="200">
  <source src="http://www.edmondvarga.com/demo/videos/video.mp4" type="video/mp4">
  </video>

Главная Activity.java:

package tscolari.mobile_sample;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class InfoSpotActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.main);

        WebView mainWebView = (WebView) findViewById(R.id.mainWebView);

        WebSettings webSettings = mainWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        mainWebView.setWebViewClient(new MyCustomWebViewClient());
        mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

        mainWebView.loadUrl("http://server.info-spot.net");
    }

    private class MyCustomWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
}

Как включить воспроизведение видео в веб-виде?

4b9b3361

Ответ 1

Из предыдущего проекта мы знаем, что вам нужно использовать WebChromeClient для воспроизведения видео в формате HTML5. (И это также дает вам аппаратную ускоренную поддержку - если вы также установите флаги в своей деятельности).

Использование:

        mainWebView.setWebChromeClient(new WebChromeClient());

Поместите это, прежде чем устанавливать setWebViewClient. Вы можете переопределить WebChromeClient для перехвата любых событий, которые вам нужно обрабатывать.

И в вашем AndroidManifest.xml в определении вашей активности добавьте:

android:hardwareAccelerated="true"

Следующая цитата из этой страницы SDK (прокрутите вниз до поддержки видео HTML5)

Чтобы поддерживать встроенное видео HTML5 в вашем приложении, вам необходимо включить аппаратное ускорение и установить WebChromeClient.

Ответ 2

Мне удалось показать видео с помощью видеотега html5, используя следующий код:

mainWebView.setWebChromeClient(new WebChromeClient());

android:hardwareAccelerated="true"