Android:使用 JW Player SDK 实现浮动视频播放器(如 YouTube android 应用)
Posted
技术标签:
【中文标题】Android:使用 JW Player SDK 实现浮动视频播放器(如 YouTube android 应用)【英文标题】:Android: Implement floating video player (like YouTube android app) with JW Player SDK 【发布时间】:2017-10-09 21:58:13 【问题描述】:我正在尝试实现浮动视频播放器(如 YouTube 播放器,当拖动到屏幕右下角时会最小化)。为此,我正在使用 DraggablePanel 库 (https://github.com/pedrovgs/DraggablePanel)。
我在将它与我们的生产代码集成时遇到了一些问题,因此我尝试将它与 JW 播放器示例应用程序集成 (我们在应用中使用的 VideoPlayer 是 JW 播放器)。 JW 播放器示例应用在 GitHub 上:https://github.com/jwplayer/jwplayer-sdk-android-demo
我只更改了 xml 布局。但它没有按预期工作。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical">
<TextView
android:id="@+id/output2"
android:layout_
android:layout_
android:textColor="@color/ccl_blue" />
<com.github.pedrovgs.DraggableView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:draggable_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/draggable_view_my"
android:layout_
android:layout_
draggable_view:bottom_view_id="@+id/output"
draggable_view:top_view_id="@+id/linearlayout" //if i give id of JWPlayerView, then app crashes. So i wrapped it inside a LinearLayout
draggable_view:top_view_margin_right="1dp"
draggable_view:top_view_resize="true"
draggable_view:top_view_x_scale_factor="2.5"
draggable_view:top_view_y_scale_factor="1.5"
draggable_view:enable_click_to_maximize_view="false"
draggable_view:enable_click_to_minimize_view="false"> //this is not working. Player is getting minimised if i click on it
<LinearLayout
android:id="@+id/linearlayout"
android:layout_
android:layout_
android:background="@color/gray"
android:orientation="vertical">
<com.longtailvideo.jwplayer.JWPlayerView
android:id="@+id/jwplayer"
android:layout_
android:layout_ />
<TextView //this TextView is not coming. Neither in Expanded view nor in minimized view
android:id="@+id/output"
android:layout_
android:layout_
android:layout_gravity="center"
android:textColor="#f01232"
android:text="Bottom Text View" />
</LinearLayout>
</com.github.pedrovgs.DraggableView>
</FrameLayout>
1) 即使在draggable_view:enable_click_to_minimize_view="false"
时,播放器也会被最小化。所以我无法暂停播放器或单击出现的任何图标
在玩家皮肤上。有时我设法在展开视图模式下单击播放/暂停按钮,但这也会导致播放器视图最小化。
2) 当播放器最小化时,视频帧大部分时间都不会出现。请参阅下面的照片链接。右下角出现白屏。 https://imgur.com/a/kjqyVOe
3) 如果我关闭了最小化的播放器视图(通过将其拖动到左/右),即使 VideoView 消失了,音频仍然会出现。
4) 如果我点击播放器视图上的全屏图标,它会进入全屏状态,但不是显示视频帧,而是出现一个白屏。
5) 最大化玩家真的很难。您必须将最小化视图从中心慢慢向上拖动,否则最小化视图会向左或向右移动并被关闭。
库是否与 JW PlayerView 不兼容?或者有没有其他相同的图书馆?如果没有库,那么我该如何在 android 中实现呢?
【问题讨论】:
【参考方案1】:像 youtube 这样的浮动视频播放器在技术上被称为画中画模式。当您向后按播放器时,最小化到右下角。即使您可以将播放器拖动到其他位置。这是一个有点漫长的过程,但你可以做到。 Here is reference tutorial.
【讨论】:
以上是关于Android:使用 JW Player SDK 实现浮动视频播放器(如 YouTube android 应用)的主要内容,如果未能解决你的问题,请参考以下文章