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

DialogFragment中实现的videoview的MediaController没有正确更新

DialogFragment是Android中的一个类,用于创建对话框式的界面。而VideoView是Android中用于播放视频的控件,MediaController是用于控制视频播放的控制器。

在DialogFragment中实现VideoView并使用MediaController控制视频播放时,可能会遇到MediaController没有正确更新的问题。这个问题通常是由于视图的刷新机制导致的。

要解决这个问题,可以尝试以下几个步骤:

  1. 确保在DialogFragment的布局文件中正确地添加VideoView和MediaController。可以使用XML布局或者在代码中动态添加。
  2. 在DialogFragment的onCreateView方法中,通过findViewById获取VideoView和MediaController的实例。
  3. 在DialogFragment的onActivityCreated方法中,为VideoView设置视频源(setVideoURI)并启动播放(start)。
  4. 在DialogFragment的onStart方法中,为MediaController设置关联的VideoView(setMediaPlayer)。
  5. 在DialogFragment的onResume方法中,调用MediaController的show方法显示控制器。
  6. 在DialogFragment的onPause方法中,调用MediaController的hide方法隐藏控制器。
  7. 如果以上步骤无效,可以尝试在DialogFragment的onResume方法中,使用postDelayed方法延迟一段时间后再调用MediaController的show方法,例如:new Handler().postDelayed(new Runnable() { @Override public void run() { mediaController.show(); } }, 100);

通过以上步骤,可以尝试解决DialogFragment中实现VideoView的MediaController没有正确更新的问题。

关于腾讯云相关产品,腾讯云提供了丰富的云计算服务,包括但不限于云服务器、云数据库、云存储、人工智能等。具体推荐的产品和产品介绍链接地址可以参考腾讯云官方文档或者咨询腾讯云的客服人员。

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

相关·内容

Android开发笔记(一百二十五)自定义视频播放器

该方式好处是灵活性强,可随意定制。缺点是编码复杂,连开始/暂停按钮都要自己实现。 2、使用VideoView结合MediaController进行播放。...VideoView其实是从SurfaceView扩展而来,并在内部集成了MediaPlayer,从而实现视频画面与视频操作统一管理;而MediaController则是一个简单播放控制条,它实现了基本控制按钮...因此我们不会在布局文件声明MediaController控件,只会声明VideoView控件,然后让控制条附着与视频视图之上。...甚至布局文件中都不用声明视频视图,而在代码动态添加视频画面,由此便衍生出VideoViewMediaController两种集成方式: 1、在布局文件声明VideoView。...此时MediaController对象只需调用setMediaPlayer方法指定播放器即可。 2、在代码动态添加VideoViewVideoView对象使用步骤同上。

2.7K40
  • Android实现视频播放3种实现方式

    下面来说一下视频播放几种实现方式: 1、MediaController+VideoView实现方式 这种方式是最简单实现方式。...VideoView继承了SurfaceView同时实现了MediaPlayerControl接口,MediaController则是安卓封装辅助控制器,带有暂停,播放,停止,进度条等控件。...通过VideoView+MediaController可以很轻松实现视频播放、停止、快进、快退等功能。 布局文件如下: <?xml version="1.0" encoding="utf-8"?...); } } 使用此实现方式步骤: 加载指定视频文件 建立VideoViewMediaController之间关联,这样就不需要自己去控制视频播放、暂停等。...让MediaController控制即可。 VideoView获取焦点。 实现效果图如下: 界面快退、播放、快进、时间、进度条等是由MediaController提供

    4.5K30

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

    系统自带VideoView有些视频格式不支持,那么我们可以用第三方实现VideoView替代系统来播放视频,比较流行有ijkplayer、vitamio。...最近有个需求就是需要给视频添加字幕,其实也挺简单。字幕比较常用格式是srt,实际它就是文本,把它解析出来,然后根据时间再展示就OK。...还有就是实现了即使旋转按钮关闭,根据方向感应器也能做到横竖屏切换。 本文用是系统VideoView,然后播放sd卡视频来作为演示(源码带有f2.mp4和f2.srt,运行时拷贝到sd卡就行)。...); videoview_layout = (RelativeLayout) findViewById(R.id.videoview_layout); mediacontroller_play_pause.setOnClickListener...项目源码,点击下载…… 以上这篇Android 实现视频字幕Subtitle和横竖屏切换示例就是小编分享给大家全部内容了,希望能给大家一个参考。

    1.7K31

    Android使用VideoView出现无法播放此视频问题解决方法

    前言 最近项目中需要用到VideoView实现视频播放,自己花了一天多时间才能出来,有点想打自己再见,在学校时候没好好学。...使用VideoView播放视频步骤如下: 1) 在界面布局文件定义VideoView组件,或在程序创建VideoView组件。 2) 调用VideoView的如下两个方法来加载指定视频。...实际上与VideoView—起结合使用还有一个MediaController类,它作用是提供一个友好图形控制界面,通过该控制界面来控制视频播放。...);//播放网络视频 // 4.4 开始播放 vh.leftVideo.start(); // 4.5 获取焦点 vh.leftVideo.requestFocus(); 原因分析: 很多人会以为是没有添加权限...由于公司后台还没有实现视频上传功能,而我又着急弄视频播放,那么就去百度找视频素材,结果就是死活不肯出来。

    8.7K30

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

    零、前言 对于视频播放,Android有内置VideoView,用起来非常简单 本篇从自定义VideoView来封装MediaPlayer开始说起 <VideoView android...视频处理器 SurfaceView 视频显示界面 MediaController 视频控制器 ---- 1.自定义VideoView继承自SurfaceView /** * 作者:张风捷特烈<br/...*/ public class VideoView extends SurfaceView implements MediaController.MediaPlayerControl { private...projection, "", null, "date_added desc", null); // 根据字段获取数据库数据索引...VideoViewApi自己实现控制逻辑,细心一点还是不难,就是麻烦 界面如下,不贴布局了,比较简单,也挺多,这里说一下显示面板后5秒后隐藏逻辑 private val mHandler

    5.5K52

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

    自定义MediaController 首先我们先去看看ijplayer怎么做,然后我们照葫芦画瓢,去修修改改。 一、ijplayerdemo如何实现?...从上面代码可以看出来AndroidMediaController集成自MediaController也就是说,主要功能是在android.widget.MediaController实现。...例如可以是一个VideoView对象,或者是你activity主视图。...public void setMediaPlayer (MediaController.MediaPlayerControl player) 把这个媒体控制器设置到VideoView对象上。...但是当您在设备运行应用程序时,加载是framework.jar(大约等价于android.jar),它没有被裁减,包含所有的内部类和隐藏API。所以您可以使用反射机制来访问隐藏API和内部API

    2.4K50

    你可能没有实现一个正确atoi函数

    ,输入数值时也似乎能得到正确结果。..."-1" "+1" " " "111111111111" "" "1aab" 是不是发现并不是想象那样?那么实现atoi到底需要注意什么呢?...实现atoi函数需要注意什么 你可能已经注意到了,实现atoi需要考虑下面这些场景: 输入正负号 开头有空格 转换后数值超出int表示范围 出错时返回0与正确转换0区别 输入非数字 空字符串 现在来看...INT_MIN:INT_MAX; } str++; } /*根据正负号返回正确结果*/ return negative?...但这些都不是重点,重点是我们在考虑实现atoi函数时候,需要考虑多种异常场景,这在平常实现其他功能接口时候也是一样。 思考 前面的代码有什么不足?你忽略了哪些场景?

    2.3K20

    常见Linux命令正确打开姿势 实践笔记 更新

    常见Linux命令正确打开姿势 实践笔记 更新 我使用centos7X64最小化安装 CentOS-7-x86_64-Minimal-1708 1.vim: 1.vim跳到第一行和最后一行 1....底线命令模式 2.命令模式 2.vim清空内容 1.底线命令模式 2.命令模式 2.解压war包 1.jar 解压 war包,直接解压到当前目录 2.unzip 解压 war包,带参数-d 解压到...test.tar.gz (test.java可以是文件夹) 2.解压test.tar.gz 我使用centos7X64最小化安装 CentOS-7-x86_64-Minimal-1708 1.vim: 1.vim跳到第一行和最后一行...1.底线命令模式 :0或:1跳到文件第一行 :$跳到文件最后一行 2.命令模式 gg跳到第一行 shift+g跳到文件最后一行 2.vim清空内容 1.底线命令模式 %d 即可 2.命令模式 ggdG...即可 其中,gg为跳转到文件首行;dG为删除光标所在行以及其下所有行内容; 再细讲,d为删除,G为跳转到文件末尾行;也可单独使用dG删除当前行到底部 2.解压war包 1.jar 解压 war

    1.6K21
    领券