我正在开发一个GWT应用程序。我需要在我的应用程序中嵌入YouTube视频
我已经尝试过BST播放器API但是我没有成功地在播放器上显示视频
我已经下载了BST Player.jar
并将其添加到我的构建路径中,然后继承了gwtapp.gwt.xml
中的以下jar:
**inherits name ='com.bramosystems.oss.player.core.Core'**
**inherits name ='com.bramosystems.oss.player.youtube.YouTube'**
然后我尝试了BST页面上给出的例子:
simplePanel = new SimplePanel();
add(simplePanel);
simplePanel.setSize("", "");
try {
// create the player, specifing URL of media
player = new ChromelessPlayer("http://www.youtube.com/watch?v=O3CZFfyed3M", "80%", "350px");
CustomPlayerControl cpc = new CustomPlayerControl(player);
FlowPanel fp = new FlowPanel();
fp.add(player);
fp.add(cpc);
simplePanel.setWidget(fp); // add player and custom control to panel.
} catch (PluginVersionException e) {
// required Flash plugin version is not available,
// alert user possibly providing a link to the plugin download page.
simplePanel.setWidget(new HTML(".. some nice message telling the " + "user to download plugin first .."));
} catch(PluginNotFoundException e) {
// required Flash plugin not found, display a friendly notice.
simplePanel.setWidget(PlayerUtil.getMissingPluginNotice(e.getPlugin()));
}
我可以看到带有YouTube播放器的面板,但我看不到视频加载也没有播放。我试过了player.playMedia()
但没有任何帮助。有关如何继续并使视频有效的任何想法?
答案 0 :(得分:2)
您可能需要传递此网址:
http://www.youtube.com/v/O3CZFfyed3M
答案 1 :(得分:2)
我找到了一种方法,可以使用任何外部库将YouTube视频嵌入到GWT vithout中。集成级别非常简单,因此您无法进行任何高级用法。这是UIBinder模板的代码片段及其对应的类:
使用和HTMLPanel放置一个这样的对象元素:
<g:HTMLPanel>
<object ui:field="videoElement"
type="application/x-shockwave-flash"
width="640" height="480" data="">
</object>
</g:HTMLPanel>
@UIField
ObjectElement videoElement;
[...]
public void displayVideo(String videoId) {
String videoUrl = "http://www.youtube.com/v/".concat(videoId);
videoElement.setData(videoUrl); //change data attribute of object element
String innerHtml = "<param name=\"movie\" value=\""+ videoUrl +"\" />";
//add param element, of course yo can add as many param elements as needed to customize
videoElement.setInnerHTML(innerHtml);
}
为了使其正常工作,我需要将此视频视图放在Panel中,每当我想查看/更新视频时,请清除面板并再次添加视频视图。
希望这有帮助
答案 2 :(得分:0)
我在YouTubes Iframe api库之上创建了这个GWT包装器。这样可以更轻松地在gwt check https://github.com/pandurangpatil/gwt-youtube
中使用YouTube api