【问题标题】:How to embed and play a YouTube video in android如何在 Android 中嵌入和播放 YouTube 视频
【发布时间】:2012-03-09 15:57:54
【问题描述】:

我们可以在安卓应用中观看 youtube 视频吗?我的意思是,如果我们在 youtube 上有视频链接,我们可以在 VideoView 或其他小部件中播放它吗? 有什么想法吗?

【问题讨论】:

  • 您至少尝试过 google 搜索吗? stackoverflow.com/a/5798922/782719 的可能重复项
  • 我不需要在其他应用中打开视频。我想在我的应用中播放它。
  • 很简单,在开发者控制台中启用 Youtube API,下载 youtube player jar 文件并包含它。参考这个例子feelzdroid.com/2017/01/…

标签: android youtube


【解决方案1】:

可以使用 youtube sdk 集成 youtube 视频

使用 youtube sdk,您可以在集成视频时有多种选择

了解更多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) {
        }
       }

【讨论】:

    【解决方案2】:

    要实现 Youtube 视频,请参考这篇文章

    http://www.feelzdroid.com/2017/01/embed-youtube-video-player-android-app-example.html

    这里添加了带有图示的详细步骤,如果您遇到任何问题,请告诉我。

    谢谢

    【讨论】:

      【解决方案3】:

      您可以使用 webview 来执行此操作。这是使用 webview 的屏幕截图:-

      如果这是您想要实现的目标,您可以从这里获取示例应用程序:- https://github.com/hiteshsahu/Android-Universal-Web-Content-Loader

      它支持纵向和横向模式。

      【讨论】:

        【解决方案4】:

        首先您应该尝试从以下链接下载适用于 Android 的 Youtube 播放器库:

        Youtube Android Player

        你应该首先像这样安装它:项目->菜单:文件>结构>依赖选项卡>添加->库依赖

        如果不起作用,请尝试以下两种方法之一:

        在你使用的库的 build.gradle 文件中添加库的依赖,并将你的库粘贴到外部库中。

        只需转到 app 文件夹中的 libs 文件夹,然后将所有 .jar 例如库文件粘贴到那里 现在这里的技巧是现在进入 settings.gradle 文件现在在 include '之后添加这一行 include ':app:libs':应用程序'它肯定会工作。

        那么,你应该有这样的布局:

        <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();
                    }
                });
            }
        
        }
        

        【讨论】:

          【解决方案5】:

          您可以使用官方的 YouTube Android Player API。这有点复杂,但它比使用 webclients 的其他解决方案效果更好。

          首先,您必须在 Google 的 API 控制台中注册您的应用。在您的应用每月收到超过 25,000 个请求(或类似的请求)之前,这是完全免费的。链接下有完整的和很棒的教程。我希望你能理解他们。如果没有,请问! :)

          【讨论】:

            【解决方案6】:

            答案很简单“是”。

            请看下面的链接,

            How to play YouTube video in my Android application?

            Streaming Youtube Videos

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-10-12
              • 2021-01-19
              • 2017-05-19
              • 2011-10-22
              • 1970-01-01
              • 2021-09-18
              相关资源
              最近更新 更多