package com.xushouwei.videorecoder;import java.io.File;import java.io.IOException;import android.app.Activity;import android.media.MediaRecorder;import android.os.Bundle;import android.os.Environment;import android.view.MotionEvent;import android.view.SurfaceHolder;import android.view.SurfaceView;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.view.WindowManager;import android.widget.Button;import android.widget.RelativeLayout;public class MainActivity extends Activity {/** Called when the activity is first created. */private SurfaceView surfaceView;private RelativeLayout layout;private Button recorderbutton;private Button stopbutton;private MediaRecorder mediaRecorder;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 设置窗口无标题requestWindowFeature(Window.FEATURE_NO_TITLE);// 设置窗口全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.main);// 找到SurfaceView显示控件surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView);// 设置参数//直接输送到屏幕前段surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);// 设置分辨率surfaceView.getHolder().setFixedSize(176, 144);// 要求不要锁屏surfaceView.getHolder().setKeepScreenOn(true);// 找到相对布局显示控件layout = (RelativeLayout) this.findViewById(R.id.layout);recorderbutton = (Button) this.findViewById(R.id.recorderbutton);stopbutton = (Button) this.findViewById(R.id.stopbutton);}public void record(View v) {switch (v.getId()) {case R.id.recorderbutton:try {File videoFile = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis() ".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(5);// 设置视频声音编码格式mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);// 设置视频编码mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);// 设置文件输出位置mediaRecorder.setOutputFile(videoFile.getAbsolutePath());// 把摄像头捕获的预览画面输送到屏幕mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());// 开始刻录// 进行缓存mediaRecorder.prepare();mediaRecorder.start();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}recorderbutton.setEnabled(false);stopbutton.setEnabled(true);break;case R.id.stopbutton:if(mediaRecorder!=null){mediaRecorder.stop();mediaRecorder.release();mediaRecorder=null;}recorderbutton.setEnabled(true);stopbutton.setEnabled(false);break;}}@Overridepublic boolean onTouchEvent(MotionEvent event) {// TODO Auto-generated method stubif (event.getAction() == MotionEvent.ACTION_DOWN) {// 设置可见layout.setVisibility(ViewGroup.VISIBLE);}return super.onTouchEvent(event);}}
下载android视频拍摄 实例源码下载用户还喜欢
- 18480 文章数
- 500万+ 热度
作者专栏
编辑推荐
- 淡抹u2引擎,修复内容较多,物有所值
- 界域传说·经典巨作=传世单机(一键安装)
- 丸子版本(175个传世版本大集合)
- GS版本:神话公益服务端+客户端
- 图片放大工具(放大图片不模糊)
- 剪映无限制VIP版
- 传奇世界客户端下载器,史上最全传世客户端
- 传世GS20220920商业引擎注册+登录配置器 解压密码是1
- U2官方排行榜游戏网关 支持元神,支持传家宝
- GS开战传世客户端+服务端
- (淡漠夕阳)u2引擎合区工具
- 传世GS引擎消除“你的游戏客户端版本号过旧,请及时更新”提示
- 传世一机多区双线路配置器--免密码版本
- 传世凤凰登陆器劫持修复软件
- SQLite3 for Navicat
- 传奇世界npc对话框编辑工具
- 传世GS落霞铭文服务器端
- gs_20210409引擎包+注册机(无限制)
- 传奇世界NPC对话封包查看器[支持时长版和极速版]
- 彩虹引擎传世脚本编辑工具1.7版来了,支持函数脚本翻译
评论