Android上的Youtube API播放器每2秒自动暂停一次
我正在制作一个应用程序,使用YouTube API播放YouTube视频。当我进入全屏模式时,我会将播放器样式切换为无铬,因为我想创建自己的媒体控件集 我已经开发了一套手势,可以映射到音量、亮度和搜索的变化。当这些更改发生时,视频上会弹出一个进度条,实时向用户显示其更改。我将所有视图放在一个框架布局中,以便在播放器全屏时,进度条显示在屏幕上 问题是(在我添加音量控制功能之前),一旦我进入全屏模式,视频就会自动暂停。我自己处理方向和屏幕大小的变化。我注意到它会在我自己制作的seekbar弹出大约2秒钟后暂停 为了进行测试,我修改了代码,没有将播放器样式更改为无铬,也就是说,我将其保留为默认值。我也移除了我的搜索棒,现在视频运行良好;我可以改变亮度和播放视频没有问题。在另一个测试中,我从代码中删除了youtubeplyer.pause()的所有实例,保留了seekbar,并改回了CHROMELESS。但是问题又出现了,所以一定是跟seekbar有关 然而,现在我添加了音量控制功能,当我运行它时(即使我不是全屏),播放器几乎在我按下play键后立即暂停,之后根本不工作Android上的Youtube API播放器每2秒自动暂停一次,android,youtube-api,Android,Youtube Api,我正在制作一个应用程序,使用YouTube API播放YouTube视频。当我进入全屏模式时,我会将播放器样式切换为无铬,因为我想创建自己的媒体控件集 我已经开发了一套手势,可以映射到音量、亮度和搜索的变化。当这些更改发生时,视频上会弹出一个进度条,实时向用户显示其更改。我将所有视图放在一个框架布局中,以便在播放器全屏时,进度条显示在屏幕上 问题是(在我添加音量控制功能之前),一旦我进入全屏模式,视频就会自动暂停。我自己处理方向和屏幕大小的变化。我注意到它会在我自己制作的seekbar弹出大约2
有人能帮我吗?当我回到电脑时,我会添加一些代码。我真的很感谢你的帮助。我认为你的问题是因为你的控制覆盖了播放器。查看您的日志以进行验证。
如YouTubePlayerView JavaDoc中所述,“播放视频时,不允许将[player]视图与其他视图重叠”。
看看这个问题:
使用我构建的库可以轻松解决此问题:。除了比官方API更稳定之外,该库还为您提供了更多的自由,例如,您可以为您的播放器覆盖任何您想要的内容。以下是最常见的原因:
您可以在上详细阅读这些问题和其他问题。您无法在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下面呢?那么它也会暂停吗?而且,在未经授权的_覆盖的情况下,它不应该仅仅抛出一个错误吗?非常感谢您的库。我正在尝试,它似乎是一个很好的选择,继续播放声音,同时隐藏视频。