无需 youtube 应用即可将 Youtube 视频集成到应用中
Posted
技术标签:
【中文标题】无需 youtube 应用即可将 Youtube 视频集成到应用中【英文标题】:Integrate Youtube videos in app without having the youtube app 【发布时间】:2018-07-19 10:03:27 【问题描述】:我已按照此页面上的说明进行操作 YouTube android Player API 并且它已经成功运行,但是尽管下载了 YouTubeAndroidPlayerApi jar 文件,但如果我尝试在没有 youtube 应用程序的设备上运行该应用程序,它会抛出一个请求更新到最新的 youtube 版本时出错。 有没有一种方法可以在应用程序中嵌入 youtube 视频,而不管应用程序用户是否在他们的设备上安装了 youtube 应用程序?
我检查了其他问题,其中大多数建议在 iframe 或 webview 中加载 webview。我想知道截至 2018 年是否有任何可用的解决方案,或者这仍然不可能?
附:我希望在本地嵌入视频,而不是将其加载到 web 视图中。
【问题讨论】:
【参考方案1】:据我所知,不可能以任何其他方式做到这一点。也许您可以进行一些黑客攻击并将视频流式传输到普通播放器,但我不确定 YouTube 服务条款是否 100% 可以。 WebView 可能是最好的选择。
如果您不想从头开始构建所有内容,我已经构建了这个库以提供基于 WebView 的即用型播放器。 Android-YouTube-Player.
要使用它,您只需要导入 lib,将 YouTubePlayerView 拖放到您的布局中并初始化它。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical" >
<com.pierfrancescosoffritti.youtubeplayer.player.YouTubePlayerView
android:id="@+id/youtube_player_view"
android:layout_
android:layout_/>
</LinearLayout>
-
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtube_player_view);
youTubePlayerView.initialize(new YouTubePlayerInitListener()
@Override
public void onInitSuccess(final YouTubePlayer initializedYouTubePlayer)
initializedYouTubePlayer.addListener(new AbstractYouTubePlayerListener()
@Override
public void onReady()
String videoId = "6JYIGclVQdw";
initializedYouTubePlayer.loadVideo(videoId, 0);
);
, true);
【讨论】:
谢谢,这确实使现在使用 webview 解决方案更容易,将等待一段时间看看是否有其他解决方案,否则会将其标记为临时解决方案。 我不能使用这个解决方案,当我写youTubePlayerView.initialize() 时,android studio 正在中断并且没有显示自动完成方法。我只是复制粘贴并将库添加到 gradle 但 android studio 找不到 YouTubePlayerListener 类以上是关于无需 youtube 应用即可将 Youtube 视频集成到应用中的主要内容,如果未能解决你的问题,请参考以下文章
使用url从python流传输youtube音频而无需下载python