Ваш запрос может быть реализован несколькими способами. Я не уверен, что использование BrowserComponent
- лучший вариант, однако кодирование с BrowserComponent
довольно просто.
Прежде всего, вам необходимо создать на своем домене веб-страницу, которая воспроизводит видео с помощью полностью совместимого кросс-совместимого проигрывателя HTML5. Существует несколько коммерческих и бесплатных решений с различной степенью сложности и стоимости.
В своем комментарии к вашему вопросу я упомянул «JWPlayer», однако вчера я проверил, что (к сожалению) бесплатная лицензия JWPlayer, такая как моя (которая позволяет мне самостоятельно размещать плеер), больше не доступна для новой пользователи. Если быть более точным, то после запуска JW8 в октябре 2017 года проигрыватель с автономным размещением теперь доступен только для корпоративных клиентов.
Однако, чтобы показать вам простое решение, я зарегистрировал бесплатную 30-дневную пробную учетную запись на DaCast, которая предоставляет проигрыватель для ваших видео по запросу и для потокового вещания. В бэкэнд DaCast я загрузил пример видео, а затем получил код для использования проигрывателя, который похож на следующий (я запутал id
):
<script id="xxxxxx_x_xxxxxx" width="590" height="431" src="//player.dacast.com/js/player.js" class="dacast-video"></script>
Затем этот код может быть интегрирован в простую веб-страницу, подобную следующей (обратите внимание, что он не будет работать локально, его нужно разместить на своем сервере):
<!doctype html>
<html lang="en">
<head>
<title>
</title>
<meta charset="UTF-8" />
</head>
<body>
<script id="xxxxxx_x_xxxxxx" width="590" height="431" src="//player.dacast.com/js/player.js" class="dacast-video"></script>
</body>
</html>
После этого вы можете создать BrowserComponent
:
Form hi = new Form("Video test", new BorderLayout(BorderLayout.CENTER_BEHAVIOR_SCALE));
if (BrowserComponent.isNativeBrowserSupported()) {
BrowserComponent browser = new BrowserComponent();
browser.setURL("https://www.yourdomain.com/test.html");
hi.add(BorderLayout.CENTER, browser);
} else {
hi.add(BorderLayout.NORTH, "Your device is not supported");
}
hi.show();
Я проверял, что это решение работает на реальном Android. Конечно, этот ответ - всего лишь совет для вас, и вы легко сможете его воспроизвести и протестировать. Я не собираюсь рекламировать какую-либо конкретную коммерческую услугу.