如何在Android中嵌入和播放YouTube视频

知识的价值不在于占有,而在于使用。这篇文章主要讲述如何在Android中嵌入和播放YouTube视频相关的知识,希望能为你提供帮助。
我们可以在android应用中观看youtube视频吗?我的意思是如果我们在youtube上有视频链接,我们可以在VideoView或其他小部件中播放吗?关于它的任何想法?
答案答案很简单“是”。
请看以下链接,
How to play YouTube video in my Android application?
Streaming Youtube Videos
另一答案首先,您应该尝试从以下链接下载适用于Android的Youtube播放器库:
Youtube Android Player
您应该首先安装它:Project- > menu:File> Structure> Dependencies选项卡> Add- > library dependency
如果它不起作用,请尝试以下两种方法之一:
使用库中的库的build.gradle文件中的依赖项添加库内的依赖项,并在外部库中粘贴您的库。
要么
只需转到app文件夹中的libs文件夹并粘贴你所有的.jar例如库文件现在这里的技巧就是现在进入settings.gradle文件现在添加这行包括':app:libs'之后包括':app'它肯定会奏效。
然后,你应该有这样的布局:

< com.google.android.youtube.player.YouTubePlayerView android:id="@+id/player_view" android:layout_width="match_parent" android:layout_height="wrap_content"/>


你可以有这样的玩家活动:
import android.os.Bundle; import android.util.Log; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; import com.google.android.youtube.player.YouTubeBaseActivity; import com.google.android.youtube.player.YouTubeInitializationResult; import com.google.android.youtube.player.YouTubePlayer; import com.google.android.youtube.player.YouTubePlayerView; import com.google.api.client.http.HttpRequest; import com.google.api.client.http.HttpRequestInitializer; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.youtube.YouTube; import java.io.IOException; public class YoutubeActivity extends YouTubeBaseActivity{private YouTubePlayerView playerView; private YouTube youtube; @Override protected void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_youtube); youtube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(), new HttpRequestInitializer() { @Override public void initialize(HttpRequest hr) throws IOException {} }).setApplicationName(this.getString(R.string.app_name)).build(); playerView = (YouTubePlayerView)findViewById(R.id.player_view); playerView.initialize("Your API Key", new YouTubePlayer.OnInitializedListener() { @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { if(!b){ String videoId = getIntent().getExtras().getString("videoID"); youTubePlayer.cueVideo(videoId); } }@Override public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { Toast.makeText(getApplicationContext(), getString(R.string.failed), Toast.LENGTH_LONG).show(); } }); }}

另一答案您可以使用官方的YouTube Android播放器API。这有点复杂,但它比使用webclients的其他解决方案更好。
首先,您必须在Googles API控制台中注册您的应用。这是完全免费的,直到您的应用程序每月获得超过25k请求(或类似的东西)。链接下有完整的anf很棒的教程。我希望你能理解他们。如果没有,请问! :)
另一答案您可以使用webview执行此操作。以下是使用webview看起来的屏幕截图: -
如何在Android中嵌入和播放YouTube视频

文章图片

如果这是你想要实现的,你可以从这里获得示例应用程序: -https://github.com/hiteshsahu/Android-Universal-Web-Content-Loader
它支持纵向和横向模式。
另一答案实现Youtube视频请参考这篇文章
http://www.feelzdroid.com/2017/01/embed-youtube-video-player-android-app-example.html
如果您遇到任何问题,请在此处添加带有图片表示的详细步骤。
谢谢
另一答案可以使用youtube sdk整合youtube视频
使用youtube sdk,您可以在集成视频时拥有许多选项
【如何在Android中嵌入和播放YouTube视频】更多http://www.androidcoding.in/2017/12/17/android-play-youtube-video-play-youtube-video-app/
private final class StateChangeListener implements YouTubePlayer.PlayerStateChangeListener {@Override public void onLoading() { } @Override public void onLoaded(String s) { }@Override public void onAdStarted() { }@Override public void onVideoStarted() { }@Override public void onVideoEnded() { }@Override public void onError(YouTubePlayer.ErrorReason errorReason) { } }


    推荐阅读