android刻录软件开发,Android 视频刻录
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 视频刻录相关推荐
- android锁屏软件开发,Android一键锁屏开发全过程
一.项目简介: 项目:<Android 一键锁屏> 开发周期:4天 代码量:100行 二.项目流程: 三.项目代码 1.主程序代码: 1.private DevicePolicyManag ...
- Android软件开发教学视频
Android软件开发教学视频 http://www.youku.com/playlist_show/id_4889604.html
- 直播app源代码 直播软件开发Android UI动画 仿直播点赞飘心动画效果
直播app源代码 直播软件开发Android UI动画 仿直播点赞飘心动画效果 一个飘心的小动画,之前看也看到网上有很多轮子,但是感觉不是很符合我的需求,所以自己就凑活凑活搞出来一个,废话不多说先看图 ...
- “大力协同“,菊风中标新疆银海鼎峰软件有限公司远程视频双录系统项目
随着政策的不断深化以及双录系统在各行各业的普遍推广,双录业务应用生态向标准化.流程化转变,不断拓宽服务的广度和深度,朝着更加规范.智能化的方向发展.菊风基于自身视频能力平台,提供符合监管要求.满足业务 ...
- QT软件开发-基于FFMPEG设计录屏与rtsp、rtmp推流软件(支持桌面与摄像头)(一)
QT软件开发-基于FFMPEG设计录屏与rtsp.rtmp推流软件(支持桌面与摄像头)(一) https://xiaolong.blog.csdn.net/article/details/126954 ...
- QT软件开发-基于FFMPEG设计录屏与rtsp、rtmp推流软件(支持桌面与摄像头)(四)
QT软件开发-基于FFMPEG设计录屏与rtsp.rtmp推流软件(支持桌面与摄像头)(一) https://xiaolong.blog.csdn.net/article/details/126954 ...
- 如何使用计算机自带的刻录软件,win7自带刻录软件怎么用?win7如何用自带的刻录软件...
win7系统自带有很多实用的功能,可能一些功能大家都比较少了解到,比如win7自带刻录软件,win7自带刻录软件怎么用?其实刻录软件可以帮助用户录制一些视频,保存一些重要的数据资料.接下去系统城小编教 ...
- 如何使用计算机自带的刻录软件,win7自带刻录软件怎么用?win7如何用自带刻录软件...
win7系统自带有很多实用的功能,可能一些功能大家都比较少了解到,比如win7自带刻录软件,win7自带刻录软件怎么用?其实刻录软件可以帮助用户录制一些视频,保存一些重要的数据资料.接下去PConli ...
- FFMPEG Qt录屏软件开发之视频采集
前面讲解了视频播放器的开发,初步掌握了使用FFMPEG解码音视频. 现在我们就接着讲解使用FFMPEG来编码音视频,主要是实现一个录屏软件的制作. 一个录屏软件的流程基本就是: 图像采集 图像编码 将 ...
- 直播软件开发Android直播悬浮窗实现
直播软件开发时Android游戏直播有时候需要跨应用去操作一些东西,比如打开摄像头,暂停直播等,比较不影响体验的一种方式就是加入一个悬浮窗,通过悬浮窗的按钮去跟直播软件应用交互.下面我就来简单介绍下如 ...
最新文章
- Novodex2.6.2 布料系统
- 记一次vue2路由参数传递this指针问题
- invalid floating point operation什么意思_数据可视化有意思的小例子:Taylor Swift 歌词数据分析和可视化...
- Spring 注解学习手札(七) 补遗——@ResponseBody,@RequestBody,@PathVariable(转)
- 误用.Net Redis客户端工具CSRedisCore,自己挖坑自己填
- MacOS录屏OBS+Loopback配置方法
- 劝雷军别造车?王传福:别浪费钱和时间;华为面向全球招募天才少年:不限学历/学校;腾讯光子工作室强制不加班双休|极客头条...
- 保存文件_正确保存Zbrush文件
- 在线JSON校验格式化工具(Be JSON)
- DXperience中文视频教程(上)
- HTML5期末大作业:我的家乡网站设计——可以根据百度百科更换家乡适用多数我的家乡
- 【笔记】openwrt - Dnsmasq替换SmartDns+ADguardHome、koolproxy
- 【笔试面试】75道逻辑推理题及答案
- 软件工程师的职业道德与修养
- spa:单页web应用(介绍,实现思路及技术点,路由,router-link相关属性)
- 初二因式分解奥数竞赛题_八年级数学因式分解进阶练习题含答案
- 洛谷P1080 [NOIP2012 提高组] 国王游戏(贪心,高精度)
- BOM--系统对话框
- 【Excel】忘记VBA密码怎么办(Hex编辑器)
- log4j基础使用教程