当前位置: 首页 > 知识库问答 >
问题:

如何在Android上的CardView中显示视频?

翟泰
2023-03-14

我刚刚接触Android,最近我在我的应用程序中添加了一个CardView来显示一些文本框和图像,效果很好。

然而,当我试图显示视频时,卡仍然是空的。有人能帮我理解我做错了什么吗?

我这样定义了图像视图:

<android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="@dimen/card_margin"
                android:layout_marginLeft="@dimen/card_margin"
                android:layout_marginRight="@dimen/card_margin">
                <LinearLayout
                    style="@style/Widget.CardContent"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
                        <VideoView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:id="@+id/step1Vid" />
                        <MediaController
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:id="@+id/mediaController2"
                            android:layout_below="@id/step1Vid" />

                        <ImageView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:id="@+id/step_image"/>
               </LinearLayout>
            </android.support.v7.widget.CardView>

最初,我尝试将视频设置为相关活动的onCreate,如下所示:

VideoView video = (VideoView) findViewById(R.id.step1Vid);
    Uri vidUri = Uri.parse(SOME_MP4_URL);
    video.setVideoURI(vidUri);
    MediaController mCon = new MediaController(getApplicationContext());
    mCon.setAnchorView(video);
    video.setMediaController(mCon);

那不起作用,不知道为什么。所以从相关的活动中,我使用AsyncTask从URL获取视频。由于UI更改,在onProgressMethod中使用相同的代码也不起作用。

如果能得到任何建议,我将不胜感激。

共有1个答案

许远航
2023-03-14

当我给LinearLayout一个固定大小而不是使用“wrap_content”属性时,问题得到了解决。

 类似资料:
  • 我的Cardview在Listview中没有显示Android L(Nexus 5)中的阴影。此外,圆边未正确显示。以下是Listview的适配器视图的代码: 以及ListView xml: 它适用于具有适当阴影和圆角的pre-L设备。但在AndroidL设备上无法工作。你能告诉我这里缺少什么吗?

  • 我想在android应用程序中显示视频。我在谷歌上搜索了一下,发现了下面的代码 VideoView VideoView=(VideoView)findViewById(r.id.VideoView); 谢谢 编辑:经过一些工作,我知道其中一个原因是Android版本4.0.3。上面提到的代码仅适用于4.2.2中的示例url(如http://download.itcuties.com/teaser/

  • 我正在膨胀一个自定义布局与CardView内的布局。圆角显示如预期,但我也得到灰色背景后面的角落。 代码很简单,使用带有角半径和背景颜色的CardView。我试过设置透明背景,但不起作用。但是,如果我设置了另一种不透明颜色,则显示在角落中。 代码已附上。 结果:

  • 我已经试了几天让这个工作没有成功。我有的是一个设备,它产生一个h264视频流,它通过原始udp(而不是rtp)在mpegts容器中多播。我正试着在Android上的自定义应用程序中显示这个。 我读到Android内置的MediaPlayer同时支持h264(avc)和mpegts,但它不能处理UDP://流,所以我不能使用它(这是最简单的)。相反,我尝试手动将mpegts流解析为基本流,并将其传递

  • 我正在开发一款Android应用程序。我在MYSQL数据库中以blob类型保存PDF数据。我将以base64发送到Android应用程序。如何在Android应用程序中显示pdf?

  • 我在一个回收视图中有几张卡片。每张卡都有一个自定义视频视图。单击视频视图,视频应开始。然而,在我的例子中,它只显示蓝色边框,视频没有运行。代码如下所示, 自定义卡视图。xml: 自定义视频视图: 主要活动: activity\u main。xml: 我希望每张卡最初只显示一个缩略图。单击视频后,相关卡应启动视频(不是全部)。视频启动时,VideoView应占据整个屏幕。我怎样才能做到这一点? 谢谢