Java 将YouTube视频嵌入JFrame?

Java 将YouTube视频嵌入JFrame?,java,youtube-api,Java,Youtube Api,我一直在做大量的研究,试图找到一个指南,教我如何正确地将YouTube视频直接嵌入我的JFrame。我已经阅读了YouTube API上的所有Google开发者指南,但找不到我想要做的事情 我正试图在主方法中使用init将YouTube视频直接嵌入到JFrame。例如: /** * Main * @param args * @throws IOException */ public static void main(String[] args) throws IOException {

我一直在做大量的研究,试图找到一个指南,教我如何正确地将YouTube视频直接嵌入我的
JFrame
。我已经阅读了YouTube API上的所有Google开发者指南,但找不到我想要做的事情

我正试图在主方法中使用init将YouTube视频直接嵌入到
JFrame
。例如:

/**
 * Main
 * @param args
 * @throws IOException
 */
public static void main(String[] args) throws IOException {
    try {
        UIManager.setLookAndFeel(new NimbusLookAndFeel());
    } catch (UnsupportedLookAndFeelException ulafe) {
        Loader loader = new Loader();
        loader.doFrame();
    }
    Start Loader = new Start();
    Loader.setVisible(true);
}

/**
 * Start
 * @throws IOException
 */
public Start() throws IOException {
    super("Ryan's Client Launcher version: '0.0.1'");
    try {
        getContentPane().setBackground(Color.BLACK);
        setBackground(Color.BLACK);

        BufferedImage image39 = ImageIO.read(getClass().getResourceAsStream("\\jaggl\\igs\\39.png"));

        this.setIconImage(image39);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(new Dimension(launcherWidth, launcherHeight));
        this.setLocationRelativeTo(null);
        this.setResizable(false);
        this.setUndecorated(true); 
        getContentPane().setLayout(null);

        initWorldSelectInterface();

    } catch (IOException e) {
        System.out.println(e);
    }
}
在我启动world select界面的位置下,我希望有“
initYouTubeVideo

我已经创建了一个空白“
initYouTubeVideo
”,我不太明白如何只嵌入视频&只嵌入视频。假设我为我的游戏做了一个更新&我在YouTube上做了一个关于它的视频。我想在我的
JFrame
(无评论部分或其他任何内容,仅限于YouTube视频)上展示该视频

有人能给我一个指南,我可以直接学习如何嵌入YouTube视频

在这篇文章中,我制作了一个JFrame示例,帮助您直观地理解我试图实现的目标。图为:

在图中,红色是我放置YouTube播放器的位置,绿色是我的界面。现在再说一遍,我在我的游戏中做了一个更新&在youtube上做了一个关于它的视频。我希望能够把链接到视频中&当有人运行客户端时,他们可以单击播放并观看视频

注意:我使用的是谷歌的YouTube API

我看过以下指南: 有关YouTube API的所有信息可在此处找到:

同样,我只想把视频添加到JFrame中,这样我的玩家就可以获得最新游戏内容的视频更新


感谢您和代表能够帮助我的人。

以下是我通常用于将YouTube视频嵌入Swing应用程序的方法

本机浏览器组件不是YouTube API,而是通过以下方式嵌入到JPanel中:

运行时,它看起来像

启动上述示例需要以下库:

  • DJNativeSwing.jar
  • DJNativeSwing-SWT.jar
  • swt-4.3-win32-win32-x86.jar(这一个依赖于平台)
您可以从DJ Native Swing下载包中获得所有这些内容。

您可以尝试以下代码:此代码将把单击重定向到浏览器。
公共类YoutubePlay
{
公共静态void main(字符串[]args)抛出URISyntaxException{
最终URI=新URI(“http://www.youtube.com/watch?v=qzW6mgfY5X4");
类OpenUrlAction实现ActionListener
{
@覆盖已执行的公共无效操作(ActionEvent e){
开放(uri);
}
}
JFrame=新的JFrame(“链接”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
框架。设置尺寸(100400);
Container=frame.getContentPane();
setLayout(新的GridBagLayout());
JButton button=新JButton();
setText(“单击链接”);
按钮设置水平对齐(SwingConstants.左);
按钮。已涂漆(假);
按钮。设置不透明(假);
按钮。背景(颜色。白色);
setToolTipText(uri.toString());
addActionListener(新的OpenUrlAction());
容器。添加(按钮);
frame.setVisible(true);
}
私有静态void open(URI)
{
if(Desktop.isDesktopSupported())
{
尝试
{
Desktop.getDesktop().browse(uri);
}
捕获(IOE异常)
{/*TODO:错误处理*/}
}
其他的
{/*TODO:错误处理*/}
}
}

我没有评论和解释Mayukh的名声,但我想帮助你。这里的诀窍(在Jk1的答案中)在于

    webBrowser.navigate("https://www.youtube.com/v/b-Cr0EWwaTk?fs=1");
最初的链接是:

    https://www.youtube.com/watch?v=b-Cr0EWwaTk
但你可以切换到:

    https://www.youtube.com/v/b-Cr0EWwaTk?fs=1

在“浏览器全屏”视图中获取视频。

:?我听说过使用swing/DJ&有人告诉我这不是最好的方式-——YouTube的API是将其放在JFrame上的最佳方式&有了DJ,视频就没有了;t总是加载&|从不显示。&这样我就可以控制我把它放在我的JPanel上的位置&它的大小,或者我必须创建一个用户必须单击的图像按钮&它会启动JPanel新/视频?1。我从未和DJ有过这样的麻烦。可能只有在某些平台上才能观察到这种行为,因为所使用的swt库依赖于平台。2.正如您可以从代码示例中看到的,player位于普通JPanel上。因此,就大小和位置而言,它的行为与任何其他JPanel一样。没问题),正如我之前所说,swt labrary依赖于平台。上面的示例是为32x Windows创建的,而您的操作系统显然是64x。你可以在Hang-on找到适合任何平台的swt库:这是视频的整个Youtube网页还是仅仅是wideget拉伸到800x600?我知道这篇文章很老,但我真的很好奇。有没有可能把它缩小到300 x 400或者类似的任意大小?@JeelShah是的,我相信你只需要使用setSize方法,输入你想要的2个整数,先宽后高。所以
webBrowser.setSize(x,y)
?是的,看起来不错。不过,我会仔细检查一下谷歌,我已经有一段时间没有做过任何Java或这方面的工作了。
    https://www.youtube.com/watch?v=b-Cr0EWwaTk
    https://www.youtube.com/v/b-Cr0EWwaTk?fs=1