首页 > 学院 > 开发设计 > 正文

实现手机App录屏功能

2019-11-08 00:37:18
字体:
来源:转载
供稿:网友

实现手机App录屏功能结果如下: 这里写图片描述

activity_recorder.xml类布局

RecorderActivity类public class RecorderActivity extends AppCompatActivity { PRivate Button b_ks; private Button b_tz; private SurfaceView sv_recorder; private MediaRecorder mediaRecorder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_recorder); sv_recorder =(SurfaceView) findViewById(R.id.sv_recorder); //得到开始的按钮 b_ks =(Button)findViewById(R.id.b_ks); //得到停止的按钮 b_tz =(Button)findViewById(R.id.b_tz); //实例化媒体控制器 mediaRecorder = new MediaRecorder(); //开始按钮的点击事件 b_ks.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //重置 mediaRecorder.reset(); //设置视屏和音频的来源 mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //设置保存的格式 mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); //设置编码格式 mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); mediaRecorder.setVideoFrameRate(3); //设置保存的路径 mediaRecorder.setOutputFile("mnt/sdcard/"+System.currentTimeMillis()+".mp4"); //将画面展示到SurfaceView mediaRecorder.setPreviewDisplay(sv_recorder.getHolder().getSurface()); //准备 try { mediaRecorder.prepare(); mediaRecorder.start(); } catch (IOException e) { e.printStackTrace(); } } }); //停止按钮的点击事件 b_tz.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //停止 mediaRecorder.stop(); } }); }}

在AndroidManifest.xml中加入权限

<uses-permission android:name="android.permission.RECORD_AUDIO" />
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表