Перенаправить встроенное видео из WebView на автономный проигрыватель / Воспроизвести в полноэкранном режиме в альбомном режиме - PullRequest
0 голосов
/ 23 марта 2012

Я занимаюсь разработкой приложения для чтения новостей, поэтому я анализирую данные RSS-канала, а затем заполняю компоненты Android. Там у меня есть компонент WebView, который отображает данные HTML (анализируется по определенному тегу XML, но это не важно).

Таким образом, данные HTML содержат действительный HTML, текст, форматирование, изображения, а в некоторых новостях - могут содержать встроенные видео.

Видео внедряются через (YT), (другие сайты видеохостинга) и отображаются / воспроизводятся правильно - веб-просмотр воспроизводит их на месте. Видео с YouTube, Vimeo и т. Д., Но в основном (> 90%) с YouTube, поэтому YouTube является предметом этого вопроса.

Я использую следующий код для отображения содержимого веб-просмотра:

    webContent.setWebViewClient(new WebViewOverrideUrl());
    webContent.getSettings().setJavaScriptEnabled(true);
    webContent.getSettings().setPluginsEnabled(true);
    webContent.loadDataWithBaseURL(null, htmlContent.toString(), "text/html", "utf-8", null);

Мои вопросы:

1. Есть ли возможность перенаправить это видео в отдельное приложение, т. Е. На YouTube или Flash-плеер (или любой другой пользователь, установленный для воспроизведения видео)?

Я прочитал очень много постов по этой теме, но не могу найти решение. Даже не ключ.

2. Можно ли сказать, что кадр с видео (в основном YouTube) воспроизводит его в полноэкранном режиме при изменении ориентации на альбомную (или, если он уже в альбомной ориентации, немедленно воспроизводит его в полноэкранном режиме) при нажатии)?

3. Возможно ли это даже с помощью проигрывателя YouTube (Flash), а если нет, то возможно ли с тегом HTML5 (вместо iframe)?

Существует возможность создать любую вкладку для видео и встроить ее в HTML-содержимое на стороне сервера (,,, <... что угодно ...>), поэтому я ищу возможные варианты.

Заранее большое спасибо, если я придумаю какое-то решение, я обязательно опубликую его здесь. Многие люди сталкиваются с подобными проблемами.

1 Ответ

0 голосов
/ 14 июня 2012

Ну, чтобы ответить на этот вопрос, наконец.

Из-за очень большого количества различных устройств и разных систем Android на этих устройствах я решил использовать самый простой подход - я просто спрашиваю пользователя, где онхочет воспроизвести видео.

Код, который все знают:

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

Поскольку я получал ссылку на YouTube во встроенном теге, парень, который создает для меня данные XML, сделал регулярное выражение, котороеполучает только ссылку на YouTube, и я обернул ее в теги html, частично на сервере, а частично внутри приложения, чтобы получить приемлемый внешний вид.

Это был единственный способ, который я нашел, который работает на каждом устройстве.Попытка нацелить приложение YouTube напрямую, но это не сработало на некоторых распространенных устройствах, на которых даже установлен YT (Telenor / Alcatel OneTouch).Попытался создать собственный видеоплеер, но он не работал на некоторых случайных устройствах, хотя работал на разных устройствах одной и той же модели устройства.

Надеюсь, это кому-нибудь поможет.

...