如何在ExoPlayer中显示图像?

时间:2018-06-13 05:52:41

标签: android image exoplayer

我有与视频和图片混合的网址列表。我想使用ExoPlayer显示它们。我可以在ExoPlayer中显示视频,但是当我尝试显示图像时,我会看到黑屏。

提前谢谢。

3 个答案:

答案 0 :(得分:0)

我使用exoplayer-ui:r2.5.4,并且SimpleExoPlayerView已内置图像视图。
您可以使用xml中的 default_artwork 属性设置图像,例如:
< / p>

<com.google.android.exoplayer2.ui.SimpleExoPlayerView
    android:id="@+id/playerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:default_artwork="@drawable/default_media_artwork"
    app:use_artwork="true"/>

希望有用。

答案 1 :(得分:0)

SELECT user_id, value, date , row_number() OVER (PARTITION BY user_id ORDER BY date desc) AS rn
FROM table_name
WHERE rn= 1

答案 2 :(得分:0)

当我尝试将ImageView用作缩略图时,exoplayer2.ui.PlayerView不能正常工作。例如,缩略图本身应放在视频表面上方,但在播放控件下方。

与此同时,所有artwork都与音频源有关。因此,尽管我将app:default_artwork设置为app:use_artwork,但是分配给true的drawable不适用于视频媒体源。

这是我的解决方案

ExoPlayer库可以自定义player view layoutplayback control layout

您有两个选择可以在播放器视图中实现缩略图。

  1. 创建名为exo_simple_player_view.xml的自定义布局文件。您可以从库中复制布局内容。然后将ImageView添加到AspectRatioFrameLayout的{​​{1}}或布局中的其他任何位置。请注意,布局中的任何其他元素都不会覆盖您的imageview。

  2. 使用自定义名称创建自定义布局文件。然后使用@id/exo_content_frame将该布局链接到PlayerView

#1是针对您想要为应用程序中的所有播放器视图提供自定义布局的情况,而#2仅针对特定页面上的单个播放器视图的情况。

创建布局文件并进行链接后,您只需找到具有ID的图像视图,然后使用Glide等设置任何可绘制对象或图像url。