首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

希望在VideoView中保持媒体控制器可见

在Android开发中,VideoView是一个用于播放视频的视图组件。默认情况下,VideoView会在用户触摸屏幕时显示媒体控制器,并在一段时间后自动隐藏。然而,有时候我们希望在VideoView中保持媒体控制器可见,以提供更好的用户体验。

要在VideoView中保持媒体控制器可见,可以通过以下步骤实现:

  1. 创建一个自定义的VideoView类,继承自android.widget.VideoView。
代码语言:java
复制
public class CustomVideoView extends VideoView {
    public CustomVideoView(Context context) {
        super(context);
    }

    public CustomVideoView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomVideoView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public void setMediaController(MediaController controller) {
        super.setMediaController(controller);
        controller.show(); // 显示媒体控制器
    }
}
  1. 在布局文件中使用自定义的VideoView。
代码语言:xml
复制
<com.example.CustomVideoView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
  1. 在代码中设置视频源和媒体控制器。
代码语言:java
复制
CustomVideoView videoView = findViewById(R.id.videoView);
videoView.setVideoURI(Uri.parse("视频源的URL"));
MediaController mediaController = new MediaController(this);
videoView.setMediaController(mediaController);

通过以上步骤,我们可以在VideoView中保持媒体控制器可见。用户可以随时操作媒体控制器,控制视频的播放、暂停、快进等操作。

腾讯云相关产品推荐:腾讯云点播(https://cloud.tencent.com/product/vod),腾讯云直播(https://cloud.tencent.com/product/live)。这些产品提供了丰富的视频处理和直播功能,可以满足各种视频应用的需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

安卓直播详细教程(三)-----ijkplayer打造个性化控制界面

它管理媒体播放器(MediaController)的状态以保持控件的同步。 通过编程来实例化使用这个类。这个媒体控制器将创建一个具有默认设置的控件,并把它们放到一个窗口里漂浮在你的应用程序上。...当媒体控制器一个XML布局资源文件创建的时候,像show()和 hide()这些函数是无效的。...几个重要方法解析: public void hide () 从屏幕移除控制器。...public boolean isShowing () 判断媒体控制器是否处于可见状态 public void onFinishInflate () XML文件加载视图完成时调用。...public void setMediaPlayer (MediaController.MediaPlayerControl player) 把这个媒体控制器设置到VideoView对象上。

2.4K50
  • 安卓基础干货(十):安卓多媒体编程的学习

    媒体编程 1、什么是多媒体? 多种媒体的综合。图片、音乐、视频。 计算机表示图形的方式 1、bmp 以高质量保存所有类型的图片,用于计算机。...解决办法:缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示imageview 缩放图片并加载到内存...当界面不可见时,双缓冲器占用释放。...Auto-generated method stub } }); } } vitamio框架的使用 1 引入vitamio框架 以library形式引入 2 布局定义...@Override public void onPrepared(MediaPlayer mp) { vv.start(); } }); //设置video的控制器

    1.4K10

    Android实现视频播放的3种实现方式

    这些多媒体数据可以来自于Android应用的资源文件,也可以来自于外部存储器上的文件,甚至可以是来自于网络上的文件流。...VideoView继承了SurfaceView同时实现了MediaPlayerControl接口,MediaController则是安卓封装的辅助控制器,带有暂停,播放,停止,进度条等控件。...VideoView获取焦点。 实现效果图如下: 界面的快退、播放、快进、时间、进度条等是由MediaController提供的。...2、MediaPlayer+SurfaceView+自定义控制器 虽然VideoView的实现方式很简单,但是由于是自带的封装好的类,所以无论是播放器的大小、位置以及控制都不受我们控制。...界面布局文件定义SurfaceView组件,并为SurfaceView的SurfaceHolder添加Callback监听器。

    4.4K30

    Android中文API —— VideoView

    参数 keyCode 表示按下的键的、 KEYCODE_ENTER 定义的键盘代码 event        KeyEvent 对象,定义了按钮动作 返回值 如果处理了事件,返回真。...如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象的尺寸大小值。...void seekTo (int msec) (译者注:设置播放位置) public void setMediaController (MediaController controller) (译者注:设置媒体控制器...) public void setOnCompletionListener (MediaPlayer.OnCompletionListener l) 注册媒体文件播放完毕时调用的回调函数。...参数 l 要执行的回调函数 public void setOnPreparedListener (MediaPlayer.OnPreparedListener l) 注册媒体文件加载完毕,可以播放时调用的回调函数

    1.4K30

    Pinterest:Android系统上的视频管理

    很快我们发现其实需要应对的技术挑战有很多,例如: 管理当前所有可用视频的播放状态 了解视频屏幕上的可见率 为我们的开发人员提供易于使用的视频组件 随着工作的进行,我们逐渐调整视频架构来满足这些需求,下面我们将在最新的视频模块深入探讨如何应对这些挑战...视频框架的第一个迭代,我们依靠客户端代码本身调用这些调用,但是我们发现这是不可扩展的。因为它在构建视频功能时增加了更多的复杂性。...我们还提取了所有Pinterest特定的分析代码,用以来聚焦视频管理器(管理和播放视频)功能上,同时让这个管理组件和应用程序之间保持独立。...),以推断其屏幕上的可见性。...我们的重写,我们将大多数旧组件合并为仅支持正常运行的VideoManager的核心部分。 改进前 ? 改进后 ?

    1.1K60

    Android多媒体之视频播放器(基于MediaPlayer)

    零、前言 对于视频的播放,Android有内置的VideoView,用起来非常简单 本篇从自定义VideoView来封装MediaPlayer开始说起 <VideoView android...private MediaController mMediaController;//媒体控制器 private int mVideoHeight;//视频宽高 private...mMediaPlayer.setScreenOnWhilePlaying(true);//播放时屏幕一直亮着 mMediaPlayer.prepareAsync();//异步准备 attach2Ctrl();//绑定媒体控制器...changeVideoFitSize(mVideoWidth, mVideoHeight, mSurfaceWidth, mSurfaceHeight); ---- 3.不满屏时居中 至于怎么居中,我天真的以为xml...(speed) id_tv_speed.text = "$speed X" } ---- 3.封面图的获取 获取帧.png 基本上也就这么多了,最后讲一下视频封面帧图片的获取:数了一下这帧大概15

    5.5K52

    Facebook构建高性能Android视频组件实践之路

    @Prop VideoParams videoParams) { cleanupVideoPlayback(videoView, videoParams); } ...}...所有新闻提要的视频都是自动播放管理器上注册的,但并不是所有的视频都需要自动播放功能(例如,全屏视频播放器的视频)。...我们希望优化这种情况,因此我们Litho创建了预分配功能。 通过向MountSpec注解添加一些属性,我们可以让Litho提前创建一些实例。...这些足以让我们将大部分视频播放逻辑封装在组件Litho之前,这个逻辑会被分散到不同的类,由一个单独的控制器触发。视频组件的主要回调方法包括: onPrepare-开始预取视频。...当RecyclerView的适配器被更新时,它可以重新绑定所有的子视图,并获得所有可见的组件并重新加载(触发onUnmount和onMount)。

    1.6K100

    Android 实现视频字幕Subtitle和横竖屏切换示例

    系统自带的VideoView有些视频格式不支持,那么我们可以用第三方实现的VideoView替代系统的来播放视频,比较流行的有ijkplayer、vitamio。...本文用的是系统VideoView,然后播放sd卡的视频来作为演示(源码带有f2.mp4和f2.srt,运行时拷贝到sd卡就行)。...) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_subtitle); videoView = (VideoView...android.resource://" + getPackageName() + "/" + R.raw.renwei; Uri uri = Uri.parse(Constant.videoUrl1); //设置视频控制器...项目源码,点击下载…… 以上这篇Android 实现视频字幕Subtitle和横竖屏切换示例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    1.7K31

    Android主流播放器比较

    VideoView 的使用非常简单,播放视频的步骤: 界面布局文件定义 VideoView 组件,或在程序创建 VideoView 组件 调用 VideoView 的如下两个方法来加载指定的视频:...比如如何获取媒体数据,如何缓冲以及是怎样的编码格式。 ExoPlayer 基于 MediaCodec 和 AudioTrack 提供了默认的音视频的 TrackRenderer 实现。...2. Activity 的 onCreate 方法添加如下代码,初始化 Vitamio 的解码器 @Override public void onCreate(Bundle icicle) {...LibsChecker.checkVitamioLibs(this)) return; } 3. AndroidManifest.xml 声明 InitActivity <activity...ijkplayer config 目录下提供了三种 module.sh 。也可自己修改 module.sh 。 缺点: ijkplayer 的缺点是库太大。

    2.9K20

    gif-drawable的使用及详解

    1、解压文件 将文件解压会发现有这样一系列的文件 2、添加文件到libs目录下 然后eclipse或者idea(Android studio也是一样的)建一个工程,将这些文件导入进去。...所以可以通过以下方法来控制动画: stop() - 停止动画 start() - 开始动画 isRunning() - 判断动画是否播放状态 reset() -重置动画 setSpeed...float factor) - 设置新动画播放速度 例如setSpeed(2.0f),动画会以二倍的速度进行播放 getDuration() - 返回动画播放的时间 其实控制gif图片和控制VideoView...//GifImageView gifImageView=(GifImageView) findViewById(R.id.gigImageview); //获取控制器...final MediaController mc = new MediaController( this ); //将图片放入媒体控制器 mc.setMediaPlayer

    1.8K40

    Android流媒体播放之VideoView

    播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP。这两种协议最 大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP协议就支持。...Android自带的播放器,以及VideoView等都支持上述两种协 议,因此,可以直接播放网络上的视频,唯一不同的就是URI。...Android当前支持两种协议来传输视频流一种是Http协议,另一种是RTSP协议 Http 协议最常用于视频下载等,但是目前还不支持边传输边播放的实时流媒体 同时,使用Http协议 传输视频时,需要根据不同的网络方式来选择合适的编码方式...RTSP和RTP是结合使用的,RTP单独Android中式无法使用的。 RTSP和RTP就是为实时流媒体设计的,支持边传输边播放。...根据实际情况来使用前面介绍的两种方式,都可以播放网络上的视频,唯一不 同的就是URI 本例中使用VideoView来播放网络上的视频 ?

    2.4K90
    领券