public void startRecord() {mediarecorder = new MediaRecorder();// 创建mediarecorder对象mCamera = getCameraInstance();Parameters parameters = mCamera.getParameters(); mCamera.autoFocus(null);// 解锁cameramCamera.setDisplayOrientation(90);mCamera.unlock();mediarecorder.setCamera(mCamera);List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes(); for(int i=0;i<supportedPreviewSizes.size();i++){Log.v("startRecord", "width="+supportedPreviewSizes.get(i).width+";height="+supportedPreviewSizes.get(i).height);}// 设置录制视频源为Camera(相机)
//        mediarecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
        mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);// 设置录制文件质量,格式,分辨率之类,这个全部包括了
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_480P));  //7.43M  10frame
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_1080P));   //70.94M  10frame
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_CIF));  // 2.6M  5frame/10frame
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_QCIF));  //0.76M   30frame  模糊
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_QVGA));  //2.1M
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_CIF));  //不支持
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW));  //766KB  还行  比QUALITY_QCIF好
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_LOW));  //1M 质量类似LOW
//        mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_480P));  //480p效果
//        mediarecorder.setAudioEncoder(MediaRecorder.AudioEncoder.);
//        mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);//        boolean isSupQUALITY_TIME_LAPSE_CIF = CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_TIME_LAPSE_CIF);
//        boolean isSupQUALITY_LOW = CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_LOW);
//        Log.v("startRecord", "isSupQUALITY_TIME_LAPSE_CIF="+isSupQUALITY_TIME_LAPSE_CIF+";isSupQUALITY_LOW="+isSupQUALITY_LOW);
//
//        mediarecorder.setVideoFrameRate(30);//start实现录像静音
        mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
//        mediarecorder.setVideoSize(640,480);mediarecorder.setVideoSize(1280,720);//设置编码比特率,不设置会使视频图像模糊
//        mediarecorder.setVideoEncodingBitRate(5*1024*1024);  //清晰     512*1024(不清楚)mediarecorder.setVideoEncodingBitRate(900*1024); //较为清晰,且文件大小为3.26M(30秒)mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);  //H263的貌似有点不清晰
//        mediarecorder.setVideoFrameRate(10);  //设置无效//end
        mediarecorder.setPreviewDisplay(surfaceHolder.getSurface());// 设置视频文件输出的路径mediarecorder.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath() + "/data/data/"+System.currentTimeMillis()+".mp4");try {// 准备录制
            mediarecorder.prepare();// 开始录制
            mediarecorder.start();} catch (Exception e) {e.printStackTrace();}}

一般情况下,我们直接调用  mediarecorder 会产生很大的视频文件,30秒的为70M,因此,我们需要在录制视频时尽量控制视频文件的大小!

mediarecorder.setVideoEncodingBitRate(900*1024);   //设置编码比特率,不设置会使视频图像模糊

android开发,静音录制视频,在一般清晰度的前提下保证文件大小越小越好相关推荐

  1. Android开发记录:视频提取音频

    文章目录 前言 使用方法 前言 Android开发中从视频中提取音频主要有三种方式结合FFmpeg,MP4Parser,MediaExtractor. 多媒体视频处理工具FFmpeg有非常强大的功能包 ...

  2. android listview下拉动画效果,Android开发中利用ListView实现一个渐变式的下拉刷新动画...

    Android开发中利用ListView实现一个渐变式的下拉刷新动画 发布时间:2020-11-23 16:50:31 来源:亿速云 阅读:80 作者:Leah 本篇文章给大家分享的是有关Androi ...

  3. 如何在不影响图片清晰度的前提下放大照片?

    对于像素图而言,无损压缩的难度并不大.只要算法得当,就能在压缩体积的同时,尽可能多地保留细节. 而真正考验软件水平的,是图片无损放大.相信很多小伙伴也都知道,像素图是由若干个像素点组成的,放大后会模糊 ...

  4. Android开发 之 直播视频技术探究之---基础知识大纲介绍

    一.前言 最近各种视频直播app到处都是,各种霸屏,当然我们也是需要体验的,关于视频直播的软件这里就不介绍了,在不是技术的人来看,直播是一种潮流,是一种娱乐方式,但是作为一个高技术的,我们除了看看,更 ...

  5. 老罗Android开发视频教程录制计划

    录制视频的规划 1. android入门介绍9集--录制完成 2. 百度地图开发10集-- 录制完成 3. 常用UI的布局5集--已经更新到第二集 4. 常用UI控件32集 5. 菜单5集 6. 提示 ...

  6. 短视频开发,录制视频添加背景音乐功能实现

    短视频开发,会在视频录制时提供相关的背景音乐选择,看似简单的选取背景音乐,但对开发人员来说却不是那么简单,如何实现短视频开发录制视频添加背景音乐功能呢? 1.短视频开发在录制界面点击音乐,绘制UI 添 ...

  7. Android自定义照相机录制视频

    Android端视频的录制: 1.自定义Camera和MediaRecorder录制视频和拍摄照片,基本功能都能实现,但是也存在一定的问题.a.后置摄像头拍摄完成后照片自动旋转90度或者270度b.如 ...

  8. android 调用系统录制视频和音频

    1.录制视频 请先申请相机权限 <uses-permission android:name="android.permission.CAMERA" /> public ...

  9. mac环境Android将屏幕录制视频转化成GIF动态图

    一  需要本机配置好adb环境,录制视频 ①录制视频的命令: adb shell screenrecord /sdcard/example.mp4 ②保存到指定的文件件,比如本地的下载的目录 adb ...

最新文章

  1. linux 如何禁用账号和解除禁用账号
  2. HTML设置允许冒泡,html css hover也会冒泡
  3. Android笔记 fragment通信
  4. 洛谷 P1080 国王游戏
  5. Webstorm配置运行React Native
  6. git 拉取代码库的项目到本地(window系统)
  7. aspnetpager 详解
  8. win7高级搜索计算机,使用win7系统高级搜索功能的方法介绍
  9. vmware之centos7 删除分区
  10. VMware vmdk文件打开方法
  11. python解析sql字段血缘_SQL血缘关系分析
  12. JavaScript基础要点
  13. 如何实现网页分享到微信,微博,空间
  14. React-moveable的使用
  15. 通过数据分析找出Netflix最适合学习英语的电影和电视剧
  16. 弹性和瞬态故障处理库Polly之重试策略
  17. sketch怎么转换成html,手稿秒变html的Sketch 2 Code
  18. LilyPond教程(0)——目录和索引
  19. 如何选择大数据培训机构
  20. linux centos 解压 tar.bz2文件

热门文章

  1. wxwidgets mysql_Ubuntu下wxWidgets学生公寓管理编程,sqlite3的用法(mysql数据_MySQL
  2. c# imager让图片有圆角unity_Qt编写自定义控件24-图片轮播控件
  3. 腾讯云yum操作实现CentOS 7.6 64位Linux系统图形界面的安装和vnc的搭建
  4. 【直播回放】80分钟剖析GAN如何从各个方向提升图像的质量
  5. 全球及中国海洋工程装备行业产值规模价值及投资风险预警报告2021-2027年版
  6. 全球及中国微型风扇行业营销前景及发展趋势建议报告2022-2027年
  7. TEA加密算法的C/C++实现
  8. Hadoop实例之利用MapReduce实现日志清洗(附源代码)
  9. 电子工程师需要了解的SMT贴片质量问题汇总(转)
  10. SrpingCloud 之SrpingCloud config分布式配置中心