【问题标题】:Is there any way to play two youtube videos in one screen at the same time? [closed]有没有办法在一个屏幕上同时播放两个 youtube 视频? [关闭]
【发布时间】:2018-07-07 23:42:11
【问题描述】:

我有一个活动,想在其中嵌入两个 youtube 播放器,并允许用户同时播放这两个播放器。

我需要这个功能来允许用户比较两个视频。

但是,我无法做到这一点。当我在一个视频中按下播放按钮时,第二个视频会停止。

我已经尝试在布局中使用带有两个 youtube 片段的 Activity,在布局中使用两个 youtube 播放器的 Activity,在我使用 youtube iFrame 的布局中带有两个 webview 的 Activity,但我一直得到相同的结果 - 只有一个播放视频。

另外,我发现 youtube api 对一个视频有限制。在一个屏幕上同时播放两个视频的任何解决方法?

【问题讨论】:

    标签: android video youtube android-youtube-api


    【解决方案1】:

    是的,您不能运行多个 YouTube 视图实例

    https://github.com/flipkart-incubator/inline-youtube-view。这是一套实用程序库,可在您的 Android、iOS 或 React Native 应用程序中使用 YouTube。

    它支持在一个片段中播放多个内嵌 youtube 视频。

    【讨论】:

      【解决方案2】:

      尝试在同一个活动中创建 2 个片段并使用 YouTubePlayerSupportFragment ? 注意:我没有对此进行测试,但它可能会起作用。

      【讨论】:

      • 谢谢。这个方法我已经试过了,还是不行
      【解决方案3】:

      有一个名为 youtubedoubler.com 的网站为您提供可以同时观看 2 个视频的 URL。

      【讨论】:

        【解决方案4】:

        使用这个库 (Android-YouTube-Player),同时播放多个 YouTube 视频应该相当简单。只需将更多 YouTubePlayerView 添加到您的 Activity/Fragment。

        将两个 YouTubePlayerView 添加到您的布局 xml 文件中:

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >
        
            <com.pierfrancescosoffritti.youtubeplayer.player.YouTubePlayerView
                android:id="@+id/youtube_player_view1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>
        
            <com.pierfrancescosoffritti.youtubeplayer.player.YouTubePlayerView
                android:id="@+id/youtube_player_view2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>
        
        </LinearLayout>
        

        然后在您的 Activity 中为两个 YouTubePlayerViews 重复此代码:

        YouTubePlayerView youTubePlayerView = findViewById(R.id.youtube_player_view1);
        
        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);
        

        您应该可以使用任意数量的 YouTubePlayerView 来执行此操作。

        【讨论】:

        • 感谢您的回复。我将 Android-YouTube-Player 库添加到我的项目中,并在下面使用您的代码。也许我做错了什么,但是当我按下一个播放器的播放按钮时,第二个正在暂停。
        • 有趣。看起来操作系统会自动暂停它们。尝试将它们放在 2 个不同的 Fragment 中。
        • 已经尝试并获得相同的结果。在两个设备上测试:魅族 U10(Android 6.0)和一些 Lg 手机(Android 5.0.2)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多