У меня есть приложение, которое показывает страницу HTML5 с элементом видео в WebView. Мне потребовалось некоторое время, чтобы понять, как заставить видео работать, но, наконец, мне удалось воспроизвести видео, встроенное в WebView на вкладке Samsung Galaxy Tab (Android 3.1). Я использовал следующий код для видео тега:Перехват запроса источника видео HTML5 в Android WebView
<video controls poster="img/poster.jpg" height="240" width="360">
<source src="video/BigBuck.m4v">
<source src="video/BigBuck.theora.ogv" type="video/ogg">
<source src="video/BigBuck.webm" type="video/webm">
HTML5 video not supported.
</video>
видео элемент имеет несколько источников, и теперь я пытаюсь захватить выбранный источник видеосигнала (и формат) до того, как видео начинает играть. Когда я нажимаю кнопку воспроизведения, я вижу HTTP-запрос для видеофайла, поступающего на веб-сервер, где хранятся видеофайлы, но мне не удается перехватить этот запрос на стороне приложения.
Я просмотрел несколько методов, чтобы проверить, проходит ли запрос на видеофайл, но я не видел, чтобы он проходил в любом из них.
- В моем
WebViewClient
только мой исходный запрос HTML5 проходит. - В
shouldInterceptRequest (WebView view, String url)
в моемWebViewClient
Я вижу только передачу начального запроса на страницу HTML5 и запрос на видеоролик, но не для видеофайла. onShowCustomView(View view, CustomViewCallback callback)
в моемWebChromeClient
вызывается только при нажатии кнопки полноэкранного управления на странице HTML5, когда видео уже воспроизводится, но не при нажатии кнопки воспроизведения. (Какова на самом деле цель этого метода?)
У кого-нибудь есть предложение по другому методу, где я могу захватить запрос на видеофайл или кто-нибудь может объяснить мне, что на самом деле происходит, когда я нажимаю кнопку воспроизведения на элемент видео?
Можете ли вы разместить код, который вы используете для видеотега. Я совсем недавно занимался этим, и 'shouldOverrideUrlLoading (WebView view, String url)' работал для меня (в Gingerbread, хотя). –