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

在Android的视频视图上显示和隐藏播放按钮

姜嘉荣
2023-03-14

以下是我到目前为止的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/LinearLayout1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">

<FrameLayout
  android:id="@+id/video_frame"
  android:layout_width="fill_parent"
  android:layout_height="480px"
  android:background="#000"
  >

  <VideoView
    android:id="@+id/video_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

</FrameLayout>

我尝试通过编程方式向FrameLayout添加一个ImageButton,但这似乎不起作用。

共有1个答案

潘凯
2023-03-14

好吧,我是这样解决的。布局文件非常简单。只需在VideoView元素后面添加一个ImageButton即可:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/LinearLayout1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">

<FrameLayout
  android:id="@+id/video_frame"
  android:layout_width="fill_parent"
  android:layout_height="480px"
  android:background="#000"
  >

  <VideoView
    android:id="@+id/video_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

  <ImageButton
    android:id="@+id/play_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical|center_horizontal"
    android:src="@drawable/ic_launcher"
    />

</FrameLayout>

FrameLayout视图元素按照在布局中定义子元素的顺序,将子元素层叠在一起。因此,在布局中添加的最后一个元素被绘制在顶部。请注意,ImageButton具有以下属性:

android:layout_gravity="center_vertical|center_horizontal"

此属性使FrameLayout中的ImageButton居中。

    // Setup a play button to start the video
    mPlayButton = (ImageButton) findViewById(R.id.play_button);
    mPlayButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if (mPlayer.isPlaying()) {
                resetPlayer();
            } else {
                playVideo(videoUrl, mVideoView.getHolder());
                // show the media controls
                mController.show();
                // hide button once playback starts
                mPlayButton.setVisibility(View.GONE);
            }
        }
    });
 类似资料:
  • 问题内容: 我想隐藏默认情况下出现在元素上的大播放按钮 可能吗? 问题答案: 看来苹果再次改变了影子领域。 为了隐藏播放按钮控件,您必须使用以下CSS:

  • 问题内容: 我在android中实现了视频播放,这对android来说是全新的,这是我到目前为止收集的部分代码。 根据逻辑,它应该播放视频。不知道我在哪里做错了。 问题答案:

  • 在webview iframe和webview上播放的视频设置在回收卡视图上。许多视频都在他们的recyclerview上。 我想在用户开始滚动回收器时暂停播放视频,并在用户播放另一个视频时暂停播放视频。 查看代码 我想用这个: 请帮我解决这个问题。任何帮助都将不胜感激。谢谢!

  • 我正在使用ExoPlayer播放视频的应用程序。出于某种原因,当我试图暂停时,视频播放器没有显示播放/暂停图标。我只为播放/暂停做了一个自定义布局,并将其设置在PlayerView上。使用或播放/暂停视频。到处都找不到解决办法,好像我错过了什么,但又不知道是什么。

  • 每当我加载html文件时,它都会给我一个错误 每当我按下播放按钮时,就会出现以下错误 我能够加载任何远程视频并运行,但问题是当我从资产文件夹代码加载本地视频以加载文件并设置web视图时 干杯,Saurav

  • 嗨,我有几个视频不能在Android(直接在Chrome上)和iOS(直接在Safari上)上播放,但可以在Windows、Mac和Linux上任何浏览器上播放。 下面是输出 下面是另一段在Android和Chrome上播放的视频的ffprobe输出: 两者都是.mp4格式,并使用编解码器。就我所见,我注意到编解码器配置文件与和与以及元数据部分的差异。 我尝试用ffmpeg重新编码第一个视频,但没