Android上的Youtube API播放器每2秒自动暂停一次

Android上的Youtube API播放器每2秒自动暂停一次,android,youtube-api,Android,Youtube Api,我正在制作一个应用程序,使用YouTube API播放YouTube视频。当我进入全屏模式时,我会将播放器样式切换为无铬,因为我想创建自己的媒体控件集 我已经开发了一套手势,可以映射到音量、亮度和搜索的变化。当这些更改发生时,视频上会弹出一个进度条,实时向用户显示其更改。我将所有视图放在一个框架布局中,以便在播放器全屏时,进度条显示在屏幕上 问题是(在我添加音量控制功能之前),一旦我进入全屏模式,视频就会自动暂停。我自己处理方向和屏幕大小的变化。我注意到它会在我自己制作的seekbar弹出大约2

我正在制作一个应用程序,使用YouTube API播放YouTube视频。当我进入全屏模式时,我会将播放器样式切换为无铬,因为我想创建自己的媒体控件集

我已经开发了一套手势,可以映射到音量、亮度和搜索的变化。当这些更改发生时,视频上会弹出一个进度条,实时向用户显示其更改。我将所有视图放在一个框架布局中,以便在播放器全屏时,进度条显示在屏幕上

问题是(在我添加音量控制功能之前),一旦我进入全屏模式,视频就会自动暂停。我自己处理方向和屏幕大小的变化。我注意到它会在我自己制作的seekbar弹出大约2秒钟后暂停

为了进行测试,我修改了代码,没有将播放器样式更改为无铬,也就是说,我将其保留为默认值。我也移除了我的搜索棒,现在视频运行良好;我可以改变亮度和播放视频没有问题。在另一个测试中,我从代码中删除了youtubeplyer.pause()的所有实例,保留了seekbar,并改回了CHROMELESS。但是问题又出现了,所以一定是跟seekbar有关

然而,现在我添加了音量控制功能,当我运行它时(即使我不是全屏),播放器几乎在我按下play键后立即暂停,之后根本不工作


有人能帮我吗?当我回到电脑时,我会添加一些代码。我真的很感谢你的帮助。

我认为你的问题是因为你的控制覆盖了播放器。查看您的日志以进行验证。

如YouTubePlayerView JavaDoc中所述,“播放视频时,不允许将[player]视图与其他视图重叠”。
看看这个问题:


使用我构建的库可以轻松解决此问题:。除了比官方API更稳定之外,该库还为您提供了更多的自由,例如,您可以为您的播放器覆盖任何您想要的内容。

以下是最常见的原因:

  • 未经授权的_覆盖-其他视图与youtube视图重叠

  • 播放器视图太小-Youtube视图太小

  • 用户\u拒绝\u受限制的\u内容-尝试播放受限制的内容

  • 针对应用程序阻止的应用程序-针对应用程序阻止某些视频


  • 您可以在

    上详细阅读这些问题和其他问题。您无法在YoutubePlayView上覆盖任何应该干净的视图。 试试下面的方法

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

    请检查日志以确定您的问题

    当我遇到问题时,是因为未经授权的覆盖

    <RelativeLayout
            android:id="@+id/parent"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <ImageView
                android:id="@+id/scImage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:visibility="gone"/>
            <FrameLayout
                andriod:id"@+id/youtube_parent
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>
    </RelativeLayout>
    
    
    
    如果你想让youtube上的android播放器控件每两秒钟都不显示一次。您必须在布局中实现真正的聚焦

    <com.google.android.youtube.player.YouTubePlayerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/youtube_view"
    android:focusable="true"
    android:layout_height="match_parent"
    android:layout_width="match_parent" />
    
    
    
    对于我的情况,我在玩家活动中有状态栏。只需将活动设置为全屏样式即可解决此问题

    删除Youtube Viewlayout中的填充和边距

    问题只在于布局,YouTube播放器不允许任何视图停留在上面,既不可见也不透明

    为了使其在设备中可见,请在“开发人员”选项中启用布局边界。(带有衬垫和边距的警告)

    使用下面的代码。我希望它能起作用

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    

    谢谢你,伙计。这应该是可以接受的答案。在我的例子中,我使用了
    未经授权的\u覆盖
    ,这会导致每秒暂停和自定义控件中的错误功能。但是如果seekbar位于youtubeplayerview下面呢?那么它也会暂停吗?而且,在未经授权的_覆盖的情况下,它不应该仅仅抛出一个错误吗?非常感谢您的库。我正在尝试,它似乎是一个很好的选择,继续播放声音,同时隐藏视频。