我想通过在codeName one的BrowserComponent中输入他的网址来显示我的网络摄像头流。
由于我试图这样做一周,但我的BrowserComponent显示纯文本而不是图像cam。
但是,如果我在其他标准浏览器(如Firefox)中尝试它可以正常工作,我可以清楚地看到我的摄像头。
所以我想知道是否有一个使用codeName one Browser显示liveStreaming的解决方案。 如果是,请问我在哪里可以找到样品或示例?
感谢
答案 0 :(得分:0)
您的请求可以通过多种方式实施。我不确定使用BrowserComponent
是最佳选择,但BrowserComponent
的编码非常简单。
首先,您必须在您的域上实现一个网页,该网页使用完全交叉兼容的HTML5播放器播放视频。有几种商业和免费解决方案具有不同程度的复杂性和成本。
在我对你的问题的评论中,我提到了#34; JWPlayer"但是昨天我已经检查过(不幸的是)像我一样的JWPlayer免费许可证(允许我自我托管播放器)新用户无法使用。更确切地说,在2017年10月推出JW8之后,现在只为企业客户提供自托管播放器。
但是,为了向您展示一个简单的解决方案,我在DaCast上注册了一个免费的30天试用帐户,该帐户为您的视频点播和直播提供播放器。在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。当然,这个答案只是给你的一个提示,你可以很容易地复制和测试,我不打算宣传任何特定的商业服务。
答案 1 :(得分:0)
另一种解决方案,使用BrowserComponent.setURLHierarchy()
html
的文件夹,并将其放在Codename One项目的/src
文件夹中。这意味着您的HTML5播放器将被放置在文件夹/src/html
内的html文件中。如果使用Netbeans IDE,该文件夹将显示为项目的包。 /src/html/player.html
中)。作为建议,您可以使用免费的开源解决方案videojs-http-streaming + video.js:如果您已经做了正确的实施,它应该适用于浏览器。请注意,您可以将/src/html/
添加到播放器所需的所有文件中。代码:
Form hi = new Form("Video player", new BorderLayout());
if (BrowserComponent.isNativeBrowserSupported()) {
BrowserComponent browser = new BrowserComponent();
browser.setURLHierarchy("/player.html");
hi.add(BorderLayout.CENTER, browser);
}
hi.show();
这就是全部。当然最困难的部分是实现HTML5播放器:如果你的应用可以连接到互联网,一个简单的解决方案就是使用CDN,使用videojs-http-streaming链接页面中提供的代码示例。