android 播放静态mp4,Android 使用VideoView播放MP4的简单实现
使用VideoView播放MP4
播放示例
实现简单的播放功能,播放手机本地的MP4文件。不依赖任何第三方框架,不添加任何防腐剂。
添加一个系统自带的控制条。
申请权限
读取存储中的MP4文件
准备布局文件
在frag_video_view.xml中放置VideoView;为了让内容居中显示,将其套在LinearLayout中,并选择android:layout_gravity="center"。否则可能会出现视频内容不居中的情况。
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" />
android:id="@+id/path_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="13sp" />
在Fragment中直接播放视频文件;
private static String mMP4Path;
VideoView mVideoView;
MediaController mMediaController;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
TextView pathTv = view.findViewById(R.id.path_tv);
mVideoView = view.findViewById(R.id.video_view);
mMediaController = new MediaController(getContext());
if (!TextUtils.isEmpty(mMP4Path)) {
mVideoView.setVideoPath(mMP4Path);
mVideoView.setMediaController(mMediaController);
mVideoView.seekTo(0);
mVideoView.requestFocus();
mVideoView.start();
pathTv.setText(mMP4Path);
}
}
Fragment视图创建完毕时,设置MP4文件路径,添加控制器,调整到最开始的地方,开始从头播放。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。
android 播放静态mp4,Android 使用VideoView播放MP4的简单实现相关推荐
- android播放器设置中文,Android 视频播放器 (一):使用VideoView播放视频
一.简介 作为Android开发,我们不可避免的会接触到视频播放,VideoView做为最简单的播放器,我们是不应该不会的. 下面简单介绍一下VideoView: • VideoView是使用Med ...
- Android 视频播放器 (一):使用VideoView播放视频
一.简介 作为Android开发,我们不可避免的会接触到视频播放,VideoView做为最简单的播放器,我们是不应该不会的. 下面简单介绍一下VideoView: VideoView是使用MediaP ...
- android动态静态广播,Android BroadcastReceiver实现自定义静态广播和动态广播(黏性广播)...
思维导图: 静态广播: 当广播发出去的时候 如果接收广播的应用程序已经退出,也能接收广播: 发送者代码: package com.example.g160628_android_21_sender; ...
- android java静态库,Android make 中变量记录
转换mk文件到bp文件 $ out/soong/host/linux-x86/bin/androidmk Android.mk > Android.bp 编译不同类型的模块 编译成 Native ...
- android开发静态库,Android:如何正确链接我自己的静态库?
我有一个用C ++编写的Android项目,并且在链接阶段存在问题. 代码放在一些静态库中,这些库应该链接在一起. 我在网上发现了很多关于这个主题的问题和答案,其中大多数建议将我的库LOCAL_STA ...
- android java静态库,Android NDK开发相关知识集合
1.关于方法名 调用 native 方法之前,首先要调用 System.loadLibrary 接口加载一个实现了native 方法的动态库才能正常访问,否则就会抛出 java.lang.Unsati ...
- android 设置静态ip,Android下用代码设置静态IP地址的方法(完美支持Android2.X,Android3.X,Android4.X)...
有一个项目,要控制设备wifi连接,而且要使用静态ip,上网查找了下,基本都是Android2.X下面的方法,即使用Settings进行设置,但是这种设置方法对于Android3.X以上设备是无效的, ...
- Android 视频播放器 (二):使用MediaPlayer播放视频
在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...
- android开发高级开发,Android多媒体开发高级编程 (Shawn Van Every) pdf扫描版
<android多媒体开发高级编程--为智能手机和平板电脑开发图形.音乐.视频和富媒体应用>使用清晰.直观的示例介绍了android sdk中丰富的多媒体功能,有助于您开发能够创建.播放和 ...
最新文章
- 解密ATS 4.2.3的缓存状态密码
- 干货丨先搞懂这八大基础概念,再谈机器学习入门
- Dreamoon Likes Coloring CodeForces - 1330C(贪心+思维)
- Java 启动和停止界面_一文详解各种花里胡哨的Java调试技巧,多图预警,记得收藏...
- cad多个窗口并排显示_你早该这么做!并排查看Excel工作表其实一个小动作就搞定!...
- Html,css,is,php,mysql的学习顺序是什么?
- Python+sklearn决策树算法使用入门
- 你在成长为一个优秀的程序员吗
- INITRANS和MAXTRANS参数的作用
- MSSQL手札四 MSSQL的函数
- Java主线程等待所有子线程执行完毕再执行解决办法集
- vc6.0垃圾文件清理工具_小白也能轻松上手,借用联想小工具轻松解决常见win10问题...
- wifi频率和zigbee干扰_怎样设置Zigbee和wifi信道避免干扰?
- 在线免费学习java资源推荐
- NVIDIA INSTANT NGP
- OpenCV中feature2D学习——Shi-Tomasi角点检测
- 自定义QT标题栏和背景·边框
- 1470_Linux下使用pdftk进行pdf文件的页面提取以及合并
- 毕设:基于CNN卷积神经网络的猫狗识别、狗品种识别(Tensorflow、Keras、Kaggle竞赛)
- Java开发必备:java帮助文档网址下载或在线帮助
热门文章
- ZXing vs ZBar: 开源条形码SDK性能PK
- 科沃斯擦窗机器人擦不干净怎么办_高楼窗户怎么擦?有科沃斯无线窗宝再也不怕擦窗坠楼...
- div 页面框架布局
- 中国老婆和韩国老公的故事
- 琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记
- 线性代数的本质(3Blue1Brown线代笔记)
- abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)
- 计算机和音乐结合的作品,用计算机创作多媒体作品──音乐和声音张燕.doc
- 汇编语言笔记-ARM汇编器伪操作
- 饮水思源--浅析深度学习框架设计中的关键技术