VideoRecorder

Android 仿微信短视频录制

预览

Bug 修复与更新日志:

更新日志:

1.2.0:仿照微信,短按拍照长按拍摄 ——19.06.21

1.1.5:增加进度条,修改依赖为 androidx ——19.05.17

1.1.4:修复录制时切出后无法再次播放的问题 ——18.11.12

1.1.3:修复录制时间过短导致崩溃的问题 ——18.11.08

1.1.2:修复在华为设备不兼容的问题 ——18.11.03

1.1:修复录制视频无法在 ios 设备播放的问题 ——18.11.02

MediaRecorder: stop failed: -1007

java.lang.RuntimeException: stop failed. at android.media.MediaRecorder.stop(Native Method)

该异常会在部分机型出现,当录制完毕后,执行 stop() 函数时出现异常。 解决思路:

检查 MediaRecorder 的视频输出尺寸是否是系统所支持的尺寸

修改 Camera 的预览尺寸与 MediaRecorder 的视频输出尺寸一致

修改 MPEG_4_SP 为 H264 mRecorder?.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP) -> mRecorder?.setVideoEncoder(MediaRecorder.VideoEncoder.H264)

stop failed 的另一种情况

读者反馈当录制视频时间过短时或出现崩溃的情况,就此我们可以参考 stop() 方法的备注:

/**

* Stops recording. Call this after start(). Once recording is stopped,

* you will have to configure it again as if it has just been constructed.

* Note that a RuntimeException is intentionally thrown to the

* application, if no valid audio/video data has been received when stop()

* is called. This happens if stop() is called immediately after

* start(). The failure lets the application take action accordingly to

* clean up the output file (delete the output file, for instance), since

* the output file is not properly constructed when this happens.

*

* @throws IllegalStateException if it is called before start()

*/

public native void stop() throws IllegalStateException;

如果在调用stop()时未收到有效的音频/视频数据,则会抛出RuntimeException。如果在start()之后立即调用stop(),则会发生这种情况。

原因就是在我们结束录制时,整个过程总时长太短,还没有接收到有效地数据。对于这种情况,我们有两种解决方法:

try{}catch{} 捕获改异常,并提示用户录制时间太短,然后允许用户重新录制;

人为延时,在 stop() 方法调用前确定总时长,当总时长小于 1s 时,Thread.sleep(xxx)

仿android微信视频编辑,Android 仿微信短视频录制相关推荐

  1. android手机视频编辑,安卓手机如何使用视频编辑器给自己录制的视频去除原声并添加配乐?安卓手机视频编辑器...

    点击"视频编辑"就可以开始来进行视频编辑操作了,首先我们要来选择自己想要来进行配乐的视频文件.也可以点击上方的"录制"按钮来直接录制视频素材.这里小编选择了图库 ...

  2. 短视频源码,仿抖音源码,助您在短视频行业开辟出一条新路

    短视频源码,仿抖音源码,助您在短视频行业开辟出一条新路 复制代码 在短视频行业,抖音当之无愧的T0阶层.致使腾讯老大也眼红这块蛋糕,打压抖音,重启自己的短视频--微视来进行竞争.短视频的火爆事宜得益于 ...

  3. 微信小程序:长期稳定短视频去水印

    大家好这一款小程序源码是一款去水印小程序源码 该源码里面自带了稳定接口(目前该接口已稳定运行三个月) 支持多种短视频平台去水印,另外也支持图集去水印 保存已经去好水印的作品的时候可以根据是短视频还是图 ...

  4. android小视频应用程序,要的短视频app下载-要的短视频app安卓版下载v1.0.2 - 非凡软件站...

    今天小编给大家带来一款非常优质的短视频软件<要的短视频>,这款软件中有着海量的短视频资源,各个类型的短视频全都有,包括生活的方方面面,都是实时更新的,还会推送一些非常精彩的视频给你,此外软 ...

  5. 短视频APP开发分解,短视频系统源码特点功能难度剖析

    现在的短视频APP开发功能嵌入其他软件的占大多数,比如微博.微信录像等,其实都是短视频,当然还有专门的比如抖音.快手等.那么既然短视频如此火热,那么短视频APP开发特点是什么?主要功能?难度大不大?下 ...

  6. 图像视频信息库改直播服务器,短视频直播系统,开发流程详细解析

    原标题:短视频直播系统,开发流程详细解析 短视频直播系统的开发也分Android端和iOS端,不同端口对应不同的开发方式,使用不同的开发协议,与直播系统的开发流程相同,也是分五个步骤,今天就给大家详细 ...

  7. AI视频生成工具 抖音短视频剪辑软件

    2023全新短视频营销获客系统,支持抖音.快手.视频号.小红书.百家号.西瓜和头条等全网头部短视频平台的矩阵推广.具有自定义视频模板.AI智能混剪.矩阵运营和私域获客消息直达等多种功能. 1.自定义短 ...

  8. 如何截取视频片段并制作成短视频

    视频截取算是网上的热门搜索词,很多网友在视频中遇到精彩的片段十分喜欢,可是又不知道该怎么截取下来保存,只能上网搜索求助.其实学会截取视频片段对我们来说算是一个不错的技能,因为这样我们就可以自己截取喜欢 ...

  9. Cheez布局海外短视频市场 凭美摄短视频SDK取爆发式进展

    短视频因为其自身文化局限性低.时效性高.社交属性强等特点,实力碾压图文信息,具备了与生俱来的国际化传播特性.海外市场作为短视频领域急待挖掘的一片净土,各大平台也已经纷纷意识到了出海的必要性和严峻性. ...

  10. 【小程序源码】视频壁纸支持多种分类短视频另外也有静态壁纸

    这是一款壁纸的微信小程序源码 其实这款小程序也可以说是短视频小程序都可以 该款小程序全采集, 大家应该知道小编之前也发过一款动态壁纸的小程序 不过那款是没有分类的,而这款不一样了,内包含了多种分类 相 ...

最新文章

  1. 桌面应用程序员简单尝试Rich JavaScript Application
  2. android连接mysql查询表内记录_Android Room数据库多表查询的使用实例
  3. elasticsearch快照和恢复
  4. android flash闪退,Android全面停止Flash Adobe专注HTML5
  5. Python基础——PyCharm版本——第三章、数据类型和变量(超详细)
  6. kali linux下安装TOR
  7. PostgreSQL 与 MySQL 常用命令对照
  8. 【2019牛客暑期多校训练营(第一场) - H】XOR(线性基,期望的线性性)
  9. 浅谈各种连接池中连接数量的设置
  10. 学计算机的感想300字,大学生计算机实训心得体会3篇
  11. 电脑端微信多开小工具
  12. EOF in header-net core
  13. 软件测试自学毛笔字纹身,254439
  14. NKOJ 2522 Sandy的卡片(差分数组+DP)
  15. 在Docker安装Calibre-web搭建网上书城
  16. 解决加速c/c++编译运行速度的问题办法
  17. 黑洞(black hole)
  18. 数据分析岗位面试准备请看这篇!
  19. 如果仅是数值计算,int 和 Integer无异
  20. 今天突然看到一篇介绍WIN98的文章,才发现原来真的老了

热门文章

  1. 5分钟带你了解,SAS硬盘和SATA硬盘的区别?
  2. if(a);if(!a);if(a!=0);if(a==0)有什么区别?
  3. 28、最小的k个数(TopK)
  4. centos7:配置yum源,阿里源和本地源,并配置中文
  5. [mqtt] 一、mosquitto
  6. 服务器系统怎么打驱动精灵,云服务器安装驱动精灵
  7. 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上
  8. 织梦dedecms清空文章后id如何从1开始
  9. 细说Python的lambda函数用法,建议收藏
  10. HCNP——动态路由协议及分类和最长前缀匹配