MediaRecorder实现手机录像

1.界面设计
2.实现代码
3.录像权限

1.界面设计(xxx.xml)
如图:

<SurfaceView
        android:layout_width="match_parent"android:layout_height="400dp"android:id="@+id/sv_media"/><LinearLayout
        android:layout_width="match_parent"android:layout_height="wrap_content"><Button
            android:layout_width="0dp"android:layout_height="wrap_content"android:text="开始"android:onClick="start"android:layout_weight="1"/><Button
            android:layout_width="0dp"android:layout_height="wrap_content"android:text="停止"android:onClick="stop"android:layout_weight="1"/></LinearLayout>

2.实现代码(xxxAction)

实现步骤:
<1>将视频动画显示到SurfaceView控件上
<2>使用MediaRecorder类进行视频的录制


public class Main2mmmActivity extends AppCompatActivity {private SurfaceView sv_camera;private MediaRecorder mediaRecorder;
/*MediaRecorder实现手机录像*/@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2mmm);sv_camera = (SurfaceView) findViewById(R.id.sv_camera);//实例化媒体录制器mediaRecorder = new MediaRecorder();}//开始public void start(View view){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);//每秒3帧//设置保存的路径mediaRecorder.setOutputFile("mnt/sdcard/G150825_"+System.currentTimeMillis()+".mp4");//将画面展示到SurfaceViewmediaRecorder.setPreviewDisplay(sv_camera.getHolder().getSurface());//准备try {mediaRecorder.prepare();//预期准备mediaRecorder.start();//开始刻录} catch (IOException e) {e.printStackTrace();}}//停止public void stop(View view){mediaRecorder.stop();//停止刻录}
}

3.录像权限(AndroidManifest.xml)

    <uses-permission android:name="android.permission.RECORD_AUDIO" /><!--手机录像-->

Android--MediaRecorder实现手机录像相关推荐

  1. 基于Linux搭建一个类似Qik手机录像直播平台(服务器端:feng streaming server + web server,客户端:Android手机应用)

    一.服务器端 基于Feng开源的流媒体服务器增加一个Web server,用来接收客户端上传的视频数据,然后通过RTSP/RTP直播到手机终端上去 二.客户端应用 1. 介绍 客户端应用主要是基于 A ...

  2. Android实现调用手机摄像头录像限制录像时长

    因为服务器空间有限,所以视频时长必须有所限制. 在xml中先布局一个按钮,点击开始录频.布局一个TextView用于显示倒计时的时间. 一.使用Hander+TimerTask完成定时操作 priva ...

  3. Android MediaRecorder架构详解

    1. 简介 在android中录制音频有两种方式,MediaRecorder和AudioRecord.两者的区别如下: (1) MediaRecorder 简单方便,不需要理会中间录制过程,结束录制后 ...

  4. Android版的手机模拟信号示波器

    本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上次简单地介绍了AudioRecord和AudioTrack的使用,这次就结合SurfaceView实现一个A ...

  5. android获取录音读写权限设置,Android编程检测手机录音权限是否打开的方法

    本文实例讲述了Android编程检测手机录音权限是否打开的方法.分享给大家供大家参考,具体如下: 6.0之前的权限检测只是检测到是否在清单文件中注册 Boolean flag = (PackageMa ...

  6. Android MediaRecorder自定义分辨率

    Android MediaRecorder自定义分辨率 工作这么久了,确实积累了不少东西,但都是以文档的形式存在U盘里的,为什么不写博客呢?因为懒啊!!!总感觉博客太难写了(大概是上学时候写作文恐惧症 ...

  7. android 录音权限 代码打开,Android编程检测手机录音权限是否打开的方法

    本文实例讲述了Android编程检测手机录音权限是否打开的方法.分享给大家供大家参考,具体如下: 6.0之前的权限检测只是检测到是否在清单文件中注册 Boolean flag = (PackageMa ...

  8. 简单Android手机APP地图,android最简单手机地图APP(只需5分钟)

    android最简单手机地图APP--只有三部分. 第一部分 首先建立一个MapActivity在setContentView(R.layout.activity_map);中创建一个代码如下. [h ...

  9. Android杂谈---获取手机屏幕大小

    Android杂谈---获取手机屏幕大小 SurfaceView简单例子 玩转Android---UI篇---ZoomControls放大缩小图片 更多相关推荐 这里总结下android中关于手机屏幕 ...

最新文章

  1. python官网如何调中文-django的settings中设置中文支持的实现
  2. python的unicode_python的unicode及其编码解码
  3. SVG 动画实现弹性的页面元素效果
  4. jpannel设置位置xy_实用的摄影技巧!10种常见摄影场景的单反相机设置技巧!
  5. AIDL Service,跨进程调用Services
  6. PHP中file() 函数和file_get_contents() 函数的区别
  7. locktty锁终端的方法
  8. archlinux 更新错误 Unrecognized archive format
  9. iOS 单个页面设置横屏
  10. grub4dos 引导linux,Grub4dos系统引导
  11. (一)软件测试的目的和定义
  12. 建议更新IE浏览器的版本
  13. canvas绘制飞线效果
  14. win10重置失败,重装系统踩坑
  15. 服务器风扇支持热插拔,被骗十几年 原来这些设备不能热插拔!
  16. eeprom与pcf859
  17. 计算机管理员无法关闭防火墙,Win10关闭防火墙提示:出于安全原因 某些设置由系统管理员管理的解决方法...
  18. 人事软件有哪些?2019年人事管理软件十大品牌排名
  19. 在Word中巧改厘米标尺(转)
  20. 微信跳一跳辅助脚本(神奇的战士版本)安装过程的各种问题合集(附教程连接)

热门文章

  1. 蓝牙耳机哪个款式好用?好用蓝牙耳机款式推荐
  2. 基于MVC框架的蛋糕预订网站设计与实现
  3. Speedoffice(word)里如何插入求和Σ公式
  4. Photoshop 字体
  5. APB3.0协议详解
  6. scipy.sparse使用简例
  7. 看完把学霸按在地上摩擦,计算机网络知识点总结(1)——计算机网络的杂项
  8. css 超出隐藏滚动条_CSS滚动条隐藏并可以滚动的3种方法实现
  9. win10 wdk不能部署到win7 的解决方法
  10. Typora背景修改