录制视频主要使用到MediaRecorder这个类。代码也不多很简单我就直接粘贴下

if (btRecord.text.toString() == "录制") {camera = Camera.open()//设置录制界面的方向camera.setDisplayOrientation(90)camera.unlock()mediaRecorder = MediaRecorder()//开始录制btRecord.text = "停止"mediaRecorder.setCamera(camera)// 设置音频采集方式mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC)//设置视频的采集方式mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA)//设置文件的输出格式mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)//设置audio的编码格式mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC)//设置video的编码格式mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264)//设置录制的视频编码比特率,越高视频越清晰当前文件也越大
//                mediaRecorder.setVideoEncodingBitRate(1024 * 1024)
//                mediaRecorder.setVideoEncodingBitRate(10 * 1920 * 1080);//设置录制的视频帧率,注意文档的说明:mediaRecorder.setVideoFrameRate(30);//设置录制文件输出目录val externalFilesDir = getExternalFilesDir(Environment.DIRECTORY_DCIM)val filePath = "${System.currentTimeMillis()}.mp4"val absolutePath = File(externalFilesDir, filePath).absolutePathmediaRecorder.setOutputFile(absolutePath)//设置分辨率mediaRecorder.setVideoSize(640, 480)//设置录制方向mediaRecorder.setOrientationHint(90)mediaRecorder.setPreviewDisplay(Surface(tvShowVideo.surfaceTexture))//准备mediaRecorder.prepare()//开始录制mediaRecorder.start()} else {//停止录制btRecord.text = "录制"//释放资源mediaRecorder.stop()mediaRecorder.release()camera.stopPreview()camera.release()}

记得自己添加权限

 <uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.RECORD_AUDIO" />

如果看着理解不了可以下载源码查看

视频录制源码下载;Android视频录制源码下载

Android开发之android录制视频功能相关推荐

  1. Android开发之Navigationdrawer导航抽屉功能的实现(源代码分享)

    导航抽屉(navigationdrawer)是一个从屏幕左边滑入的面板,用于显示应用的主要导航项目.用户可以通过在屏幕左边缘滑入或者触摸操作栏的应用图标打开导航抽屉.导航抽屉覆盖在内容之上,但不覆盖操 ...

  2. Android开发之Android性能优化记录

    Android 性能优化 Android 中的性能优化在我看来分为以下几个方面:内存优化.布局优化.网络优化.安装包优化: 内存优化: 下一个问题就是: 布局优化: 布局优化的本质就是减少 View ...

  3. Android开发之Android Material Design Toolbar自定义随笔

    一.自定义Toolbar的menu: 在menu下新建menu.xml文件,自定义menu的样式: 1 <menu xmlns:android="http://schemas.andr ...

  4. Android开发之android与JS互调 | Android与H5互调(附源码)

    我们先看下JS代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  5. Android开发之 Android 的基本组件的概述

    Android是一个为组件化而搭建的平台,它的应用是由一些零散的有联系的组件组成,并通过AndroidManifest.xml文件 把它们绑定起来. Android常用的组件有: Activity(活 ...

  6. Android 开发之 QQ变声功能实现

    1.简介 在QQ中我们使用到的一个功能就是变声,QQ是使用FMOD实现的,那么同样的我们也使用FMOD让自己的应用可以变音 2.FMOD简介 fmod Ex 声音系统是为游戏开发者准备的革命性音频引擎 ...

  7. Android开发之Android Studio 3.6新特性之获取控件id的高级方式ViewBinding

    一般获取id有如下几种方式: 访问布局控件ID方式 优点 缺点 findViewById 系统提供有保障 特别繁琐代码量大 第三方注解 快捷简单 引用三方可能有不确定因素 kotlinx.androi ...

  8. Android开发之Android WIFI ADB(ADB WIFI)无线调试的技巧

    老套路线上效果图 以前又adb wifi可以使用,不过那是17年我用的AS2.3版本,并且除了adb wifi这个插件外还得手机安装一个app才可以,特别麻烦. 显示有心插件了->Android ...

  9. Android开发之android studio快捷键大全

    AndroidStudio 快捷键大全 编辑相关快捷键 Ctrl+Space 补全代码 ctrl+shift+space 智能代码补全 Ctrl + Shift + Insert 可以选择剪贴板内容并 ...

最新文章

  1. ARC内存管理机制详解
  2. 分享20个Android游戏源代码。以后看看。
  3. 休眠后gpio状态_浅谈Digi XBee模块的休眠模式
  4. 借贷宝详细注册步骤:邀请朋友送20元,朋友再邀请朋友还送你10元【3天已赚6千】(附我的邀请记录和提现到账截图)...
  5. Groovy新手教程
  6. Django基础之wsgi
  7. Python安装时import matplotlib.pyplot as plt报错
  8. 《Python预测之美》送书活动,拿走不谢~
  9. Windows核心编程_代码段共享_LocalAlloc/GlobalAlloc区别
  10. c语言程序输出数字图形,C语言数组应用之图形数字的输出
  11. 终于搞定了一个C#的聊天室 使用的SQLServer+VS 用的Socket 整理下搜的书签
  12. vb中如何连接mysql_vb怎么连接数据库
  13. 手把手教你写一个web聊天室之bookstap框架
  14. Windows 10 下,强制关闭端口
  15. 一文极速读懂 KEGG 数据库
  16. android—AOSP、AOKP、CM的区别
  17. Systemd Spec 宏
  18. 天津工业大学计算机学院调剂信息,天津工业大学2019年硕士研究生调剂公告
  19. 《矩阵理论与方法》lambda矩阵及Jordan标准形
  20. 高颜值时尚小巧蓝牙耳机推荐,女友生日过节最强送礼装备

热门文章

  1. 基于太赫兹光波传输声音数字信号的试验验证
  2. LDAP是什么意思?有什么用?
  3. 【译】使用python创建一个简单的restful风格的webservice应用
  4. Final Cut Pro for Mac(fcpx苹果视频剪辑软件)V10.5.2中文版介绍
  5. Redis哨兵配置及部署
  6. 牛逼,两百行Python代码带你打造一款《天天酷跑》游戏!
  7. 搜索推荐-《搜素与推荐中的深度学习匹配(Deep Match)技术》
  8. TACACS+和RADIUS比较
  9. 有限体积法(13)——SIMPLE算法的一维算例
  10. 环境类软件测试项目,软件测试技术、方法和环境