我进步不大,但我遇到了其他问题。
首先,jewelsea 的代码很棒。现在我可以将播放器嵌入到播放器的辅助窗口中,它会根据我使用 youtube api 获得的 URL 显示电影。但看起来 JavaFX 无法显示大部分电影。它显示了 youtube 播放器和一条错误消息,提示我需要安装最新版本的 Adobe Flashplayer。根据我的研究,我注意到 webView 只能显示质量设置为 240p 的电影,不能更高。
我在 Google 上搜索了很多如何让我的 webView 播放 240p 质量的视频。首先,我尝试设置 youtube 查询参数(https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#formatsp)。我从那里尝试了所有参数:1,5 和 6。但是,我没有获得可以在 JavaFX 的 webView 上查看的格式的电影 URL。
我还尝试将视频质量嵌入到电影的 URL 中,如下所示: http://www.youtube.com/watch?v=og2YZlLhjKs&vq=small:240p ;但它根本不起作用。我还在浏览器中写了那个 URL,看起来 youtube 会自动将视频设置为最高质量,无论我在 URL 中写什么参数。
我使用的 youtube api 代码与此网页中的相同:http ://www.javacodegeeks.com/2010/05/getting-started-with-youtube-java-api.html
我只是将主类代码移动到返回列表中第一个视频的 URL 的方法,并将“query.setOrderBy(YouTubeQuery.OrderBy.VIEW_COUNT);”更改为“query.setOrderBy(YouTubeQuery.OrderBy 。关联);”。这很好用,它显示了我搜索的正确音乐视频的网址。
很抱歉没有显示我的项目代码,但它很大并且包含 2-3 个 api 密钥,如果您告诉我如何将视频 URL http://www.youtube.com/watch?v=og2YZlLhjKs 更改为处理来自这个网站的代码:https://gist.github.com/jewelsea/1437374,然后我会知道如何让它在我的项目上也能工作;
而关于 YouTube 播放 API 的事情也启发了我。我看到 API 有很多功能可以帮助我更轻松地播放视频内容(让它播放,让它停止),但问题是我没有关于 javascript 编程的知识,很遗憾我在 Java API 中也没有这些方法。也许我会试一试并将javascript代码插入我的webview。但是,如果我使用 javascript 编辑 webview... 它会在 JavaFX webView 上播放更高质量的电影吗?