Android 视频刻录

可以通过调用系统自带的相机来实现,不过这样做灵活性较低,我们可以通过使用MediaRecorder对象和SurfaceView控件来实现视频刻录。这里要求应用时横屏全屏显示。

界面设计

横屏和全屏

横屏显示

我们在AndroidManifest.xml文件中,为我们需要横屏显示的Activity添加相应的属性:

android:screenOrientation="landscape"

全屏显示

在加载界面之前对Activity进行配置:

//去掉标题

requestWindowFeature(Window.FEATURE_NO_TITLE);

// 全屏

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.activity_main);

应用界面

主要包含两部分,用于显示摄像头采集回显的预览画面,由SurfaceView来实现,另外就是停止和开始录制两个Button了,与相机应用类似,我们需要在帧布局嵌入相对布局来实现。

界面设计如下:

这里相对布局的visibility的属性值为gone,我们通过在MainActivity中重写onTouchEvent()方法来实现触摸显示。

@Override

public boolean onTouchEvent(MotionEvent event) {

if (event.getAction() == MotionEvent.ACTION_DOWN) {

// or layout.setVisibility(ViewGroup.VISIBLE);

layout.setVisibility(RelativeLayout.VISIBLE);

}

return super.onTouchEvent(event);

}

业务逻辑

配置SurfaceView

首先找到SurfaceView对象,通过getHolder()方法获取SurfaceHolder对象并进行相应配置:

surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView);

surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

surfaceView.getHolder().setKeepScreenOn(true);

配置MediaRecorder对象

类似于MediaPlay,我们对其创建出来的对象进行相应的配置,主要有以下内容:

视频来源

声音来源

视频输出格式

视频编码格式

帧率

声音编码格式

文件输出路径

视频预览输出对象

File file = new File(SD_ROOTPATH, SYSTEMTIME + ".3gp");

mediaRecorder = new MediaRecorder();

mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);

mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

//mediaRecorder.setVideoSize(320, 240);

mediaRecorder.setVideoFrameRate(10);

mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);

mediaRecorder.setOutputFile(file.getAbsolutePath());

mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());

完成配置之后,就可以开始缓冲并开始录制了:

mediaRecorder.prepare();

mediaRecorder.start();

android刻录软件开发,Android 视频刻录相关推荐

  1. android锁屏软件开发,Android一键锁屏开发全过程

    一.项目简介: 项目:<Android 一键锁屏> 开发周期:4天 代码量:100行 二.项目流程: 三.项目代码 1.主程序代码: 1.private DevicePolicyManag ...

  2. Android软件开发教学视频

    Android软件开发教学视频 http://www.youku.com/playlist_show/id_4889604.html

  3. 直播app源代码 直播软件开发Android UI动画 仿直播点赞飘心动画效果

    直播app源代码 直播软件开发Android UI动画 仿直播点赞飘心动画效果 一个飘心的小动画,之前看也看到网上有很多轮子,但是感觉不是很符合我的需求,所以自己就凑活凑活搞出来一个,废话不多说先看图 ...

  4. “大力协同“,菊风中标新疆银海鼎峰软件有限公司远程视频双录系统项目

    随着政策的不断深化以及双录系统在各行各业的普遍推广,双录业务应用生态向标准化.流程化转变,不断拓宽服务的广度和深度,朝着更加规范.智能化的方向发展.菊风基于自身视频能力平台,提供符合监管要求.满足业务 ...

  5. QT软件开发-基于FFMPEG设计录屏与rtsp、rtmp推流软件(支持桌面与摄像头)(一)

    QT软件开发-基于FFMPEG设计录屏与rtsp.rtmp推流软件(支持桌面与摄像头)(一) https://xiaolong.blog.csdn.net/article/details/126954 ...

  6. QT软件开发-基于FFMPEG设计录屏与rtsp、rtmp推流软件(支持桌面与摄像头)(四)

    QT软件开发-基于FFMPEG设计录屏与rtsp.rtmp推流软件(支持桌面与摄像头)(一) https://xiaolong.blog.csdn.net/article/details/126954 ...

  7. 如何使用计算机自带的刻录软件,win7自带刻录软件怎么用?win7如何用自带的刻录软件...

    win7系统自带有很多实用的功能,可能一些功能大家都比较少了解到,比如win7自带刻录软件,win7自带刻录软件怎么用?其实刻录软件可以帮助用户录制一些视频,保存一些重要的数据资料.接下去系统城小编教 ...

  8. 如何使用计算机自带的刻录软件,win7自带刻录软件怎么用?win7如何用自带刻录软件...

    win7系统自带有很多实用的功能,可能一些功能大家都比较少了解到,比如win7自带刻录软件,win7自带刻录软件怎么用?其实刻录软件可以帮助用户录制一些视频,保存一些重要的数据资料.接下去PConli ...

  9. FFMPEG Qt录屏软件开发之视频采集

    前面讲解了视频播放器的开发,初步掌握了使用FFMPEG解码音视频. 现在我们就接着讲解使用FFMPEG来编码音视频,主要是实现一个录屏软件的制作. 一个录屏软件的流程基本就是: 图像采集 图像编码 将 ...

  10. 直播软件开发Android直播悬浮窗实现

    直播软件开发时Android游戏直播有时候需要跨应用去操作一些东西,比如打开摄像头,暂停直播等,比较不影响体验的一种方式就是加入一个悬浮窗,通过悬浮窗的按钮去跟直播软件应用交互.下面我就来简单介绍下如 ...

最新文章

  1. Novodex2.6.2 布料系统
  2. 记一次vue2路由参数传递this指针问题
  3. invalid floating point operation什么意思_数据可视化有意思的小例子:Taylor Swift 歌词数据分析和可视化...
  4. Spring 注解学习手札(七) 补遗——@ResponseBody,@RequestBody,@PathVariable(转)
  5. 误用.Net Redis客户端工具CSRedisCore,自己挖坑自己填
  6. MacOS录屏OBS+Loopback配置方法
  7. 劝雷军别造车?王传福:别浪费钱和时间;华为面向全球招募天才少年:不限学历/学校;腾讯光子工作室强制不加班双休|极客头条...
  8. 保存文件_正确保存Zbrush文件
  9. 在线JSON校验格式化工具(Be JSON)
  10. DXperience中文视频教程(上)
  11. HTML5期末大作业:我的家乡网站设计——可以根据百度百科更换家乡适用多数我的家乡
  12. 【笔记】openwrt - Dnsmasq替换SmartDns+ADguardHome、koolproxy
  13. 【笔试面试】75道逻辑推理题及答案
  14. 软件工程师的职业道德与修养
  15. spa:单页web应用(介绍,实现思路及技术点,路由,router-link相关属性)
  16. 初二因式分解奥数竞赛题_八年级数学因式分解进阶练习题含答案
  17. 洛谷P1080 [NOIP2012 提高组] 国王游戏(贪心,高精度)
  18. BOM--系统对话框
  19. 【Excel】忘记VBA密码怎么办(Hex编辑器)
  20. log4j基础使用教程

热门文章

  1. 头秃了!一毕业就洒热血,35岁被抛弃,经验无用武之地,程序员的黄金时代靠的是什么?
  2. 中中救援队 解题报告
  3. 超详细开关电源基础知识讲解
  4. uni-app使用总结(1)
  5. 滚动楼层导航html,vue css 滚动楼层导航定位
  6. 让DBA不再从入门到放弃,落地SQL审核的正确路径...
  7. SDC文件常用时序约束语句
  8. 【Java闭关修炼】Spring-IOC介绍
  9. 职称证书全国能否通用
  10. 许一世情缘,陪你到地老天荒