Android自定义录制视频功能

Android自定义录制视频功能,第1张

概述Android录制视频MediaRecorder+SurfaceView的使用方法,供大家参考,具体内容如下先看效果图:

AndroID录制视频MediaRecorder+SurfaceVIEw的使用方法,供大家参考,具体内容如下

先看效果图:

<1>将视频动画显示到SurfaceVIEw控件上
<2>使用MediaRecorder类进行视频的录制

常用的方法:

  mediaRecorder.reset();  mediaRecorder.setVIDeoSource(MediaRecorder.VIDeoSource.CAMERA); //从照相机采集视频  mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);   mediaRecorder.setoutputFormat(MediaRecorder.OutputFormat.THREE_GPP);  mediaRecorder.setVIDeoFrameRate(3); //每秒3帧  mediaRecorder.setVIDeoEncoder(MediaRecorder.VIDeoEncoder.H263); //设置视频编码方式  mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);  file vIDeofile = new file(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".3gp");  mediaRecorder.setoutputfile(vIDeofile.getabsolutePath());  mediaRecorder.setPrevIEwdisplay(surfaceVIEw.getHolder().getSurface());  mediaRecorder.prepare();//预期准备  mediaRecorder.start();//开始刻录  mediaRecorder.stop();//停止刻录

下面看代码:

public class MediaRecorderActivity extends AppCompatActivity {  private SurfaceVIEw sv_mediarecorder_surface;  private MediaRecorder mediaRecorder;  private boolean isstartAndStop=false;  @OverrIDe  protected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {      getwindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);      getwindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);    }    setContentVIEw(R.layout.activity_mediarecorder);    //获取SurfaceVIEw    sv_mediarecorder_surface = (SurfaceVIEw) findVIEwByID(R.ID.sv_mediarecorder_surface);    //实例化媒体录制器    mediaRecorder = new MediaRecorder();  }  //视频录制与暂停的方法  public voID startMediaCorder(VIEw vIEw){    button button= (button) vIEw;    if (!isstartAndStop) {      if (mediaRecorder==null){        //实例化媒体录制器        mediaRecorder = new MediaRecorder();      }      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);      //获取根路径      String sdpath= Environment.getExternalStorageDirectory().getabsolutePath();      //设置保存的路径      mediaRecorder.setoutputfile(sdpath+"/taoge"+System.currentTimeMillis()+".mp4");      //将画面展示到SurfaceVIEw      mediaRecorder.setPrevIEwdisplay(sv_mediarecorder_surface.getHolder().getSurface());      //准备      try {        mediaRecorder.prepare();        mediaRecorder.start();      } catch (IOException e) {        e.printstacktrace();      }      button.setText("结束");    }else{      // 为其它应用释放摄像头      mediaRecorder.release();      mediaRecorder = null;      //关闭      button.setText("开始");    }    isstartAndStop=!isstartAndStop;  }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android自定义录制视频功能全部内容,希望文章能够帮你解决Android自定义录制视频功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1146930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存