Java WebBrowser高度(代号为ONE)

Java WebBrowser高度(代号为ONE),java,codenameone,Java,Codenameone,我正在尝试在我的应用程序中显示youtube视频。 目前它可以在模拟器中工作,但问题是视频的缩放效果不好。 BorderLayout的宽度很好,但我想给视频一个最大高度 我的代码: Container c2 = new Container(new BorderLayout()); c2.setPreferedH(400); WebBrowser player = new WebBrowser(); player.setURL("https://www.youtub

我正在尝试在我的应用程序中显示youtube视频。 目前它可以在模拟器中工作,但问题是视频的缩放效果不好。 BorderLayout的宽度很好,但我想给视频一个最大高度

我的代码:

    Container c2 = new Container(new BorderLayout());
    c2.setPreferedH(400);
    WebBrowser player = new WebBrowser();
    player.setURL("https://www.youtube.com/embed/"+temp.getUrl()+"?rel=0");
    c2.addComponent(BorderLayout.CENTER, player);
不要调用setPreferredH,这通常是一个错误

你把c2加入了什么


我建议您不要创建c2,而是将边框布局设置为窗体,并将播放器组件添加到窗体的中心。

问题是,当您按下按钮,然后将c2添加到较高容器的中心时,会生成c2。由于页面上有太多其他数据,我无法直接将其添加到表单中。如果这真的是唯一真正的解决方案,我可以生成一个新页面来显示视频,但这会破坏应用程序的流程。将web浏览器添加到可滚动的父组件中是一个问题。我也不确定一个独立的表单是否适合您,但我很确定您当前的方法会遇到问题,因为您正在将一个无大小的浏览器组件嵌入到一个复杂的布局中。它的大小只有在HTML加载后才能确定。嗯,我明白了。那么,有没有其他方法可以使用webbrowser来显示youtube视频呢?我会把它放在一个新的形式开始,看看会给什么。谷歌不允许任何其他方式,所以不。你可以使用媒体API的常规视频,但youtube不公开实际的视频流正式。好吧,所以它确实工作,当我把webbrowser在一个新的形式。现在的问题是,在我的设备三星S4上,它发出声音,但没有视频。。