Android仿微信小视频的简单实现
一个可播放的网络视频url http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
由于项目中用到了视频认证功能,所以想到了采用与微信小视频录制类似的界面功能来实现,只是多了个切换前后置摄像头而已。
由于时间仓促,先贴出效果图,如下(只是简单实现):
源码托管在Github上
目前该Demo还存在一个严重的bug,就是点击按钮就崩溃,报错如下:
08-30 16:44:21.894 30628-30628/com.xmliu.littlevideodemo E/AndroidRuntime: FATAL EXCEPTION: mainProcess: com.xmliu.littlevideodemo, PID: 30628java.lang.RuntimeException: Fail to connect to camera serviceat android.hardware.Camera.<init>(Camera.java:669)at android.hardware.Camera.open(Camera.java:499)at com.xmliu.littlevideodemo.RecordVideoActivity.recorder(RecordVideoActivity.java:346)at com.xmliu.littlevideodemo.RecordVideoActivity$2.onTouch(RecordVideoActivity.java:134)at android.view.View.dispatchTouchEvent(View.java:8657)at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2523)
Fail to connect to camera service,关于这个问题stackoverflow上有两个回答数较高的相关问题,http://stackoverflow.com/questions/7829162/failed-to-connect-to-camera-service http://stackoverflow.com/questions/33276517/android-6-0-runtimeexception-fail-to-connect-to-camera-service
网上大概的解决方法就是添加权限,如下
<uses-feature android:name="android.hardware.camera.autofocus" /><uses-feature android:name="android.hardware.camera" /><uses-permission android:name="android.permission.CAMERA" />
以及在surfaceDestroyed方法中release掉camera
@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {if (myCamera != null) {myCamera.stopPreview();myCamera.release();myCamera = null;}}
还有说是Android 6.0系统后的权限有调整,然而我的测试机是5.1,而且这个功能是从一个完整项目中分离出来的,在完整项目中是可以正常使用的,然而在此demo中却莫名crash。。。
调试中,我去掉了以下两行代码却可以正常录制了
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); // 录音源为麦克风
recorder.setAudioEncoder(profile.audioCodec);
该Demo中大概涉及到以下几个知识点:
1、控制镜头变焦,参考此文
2、创建视频缩略图,包括本地或者网络视频,参考此文
3、切换前后镜头,参考此文
4、本地或网络视频播放
5、双向进度条的使用,参考此文
6、定时器的使用
7、触摸事件的处理
Android仿微信小视频的简单实现相关推荐
- Android仿微信小视频录制功能(二)
Android仿微信小视频录制功能(二) 接着上一篇,在完成了录制功能后,伟大的哲学家沃兹基索德曾经说过:"有录就有放.",那么紧接着就来实现播放功能,按照国际惯例,先上下效果图: ...
- Android 仿微信小视频录制
Android 仿微信小视频录制 WechatShortVideo和WechatShortVideo文章
- Android仿微信小视频录制功能
还没看完,应该还不错,先收藏,觉得可以开拓 https://blog.csdn.net/u012227600/article/details/50835633 -------------------- ...
- Android录制视频,仿微信小视频录制(一)
Android录制视频,第一部分自定义控件 简述 公司有一个录制视频并上传的功能,录制视频具体使用类如下:硬件控制使用Camera,视频录制的格式音频等具体配置与录制使用MediaRecorder,预 ...
- Android 仿微信小程序开屏页加载loading
Android 仿微信小程序开屏页加载loading 废话不多说,先上效果图~ 首先就是底层有一个灰色的圆,然后按照圆形的轨迹进行绘制. 啊~说那么多也没用,还是直接上代码吧,哈哈哈哈 绘制底部圆形及 ...
- 仿微信朋友圈,仿微信小视频 ,录制视频功能
https://github.com/Naoki2015/VCameraDemo 仿微信小视频 CircleDemo https://github.com/Naoki2015/CircleDe ...
- Android 仿微信短视频录制
VideoRecorder 项目地址:junerver/VideoRecorder 简介: Android 仿微信短视频录制 更多:作者 提 Bug 标签: Android 仿微信短视频录制 项目 ...
- 仿android微信视频编辑,Android 仿微信短视频录制
VideoRecorder Android 仿微信短视频录制 预览 Bug 修复与更新日志: 更新日志: 1.2.0:仿照微信,短按拍照长按拍摄 --19.06.21 1.1.5:增加进度条,修改依赖 ...
- android高仿微信小视频,Android仿微信录制小视频
本文实例为大家分享了Android仿微信录制小视频的具体代码,供大家参考,具体内容如下 先上张图片看看效果 简单叙述下 首先通过Camera类调用系统相机 通过surfaceview绘制出来 通过Me ...
最新文章
- 计算机组成原理思维导图
- leetcode算法题--学生分数的最小差值
- python获取url参数 类继承_python之类的继承
- html5本地缓存如何提交,HTML5: 本地缓存
- linux第一季运维001
- 长能耐了?想造反了?你老婆没了.......
- 可视化数据包分析工具-CapAnalysis
- VMware16虚拟机怎么共享文件夹?
- 用ajax下载字节流形式的excel文件
- VSCode设置中文语言
- visio反向工程 mysql_Visio 2010对MySQL数据库反向工程生成ER数据库模型图
- 第五章-畅销书排行榜
- echarts实现世界地图,给不同数值的国家着色,并根据经纬度在对应位置上添加标签(一)
- vr全景拍摄教程,怎样拍摄vr全景照片?
- python写一个简单的12306抢票
- 中国古代美女才女不完全记录
- eclipse 上传代码到github,我花费了一个月测的。就这样了
- 【Atcoder】Atcoder Beginner Contest 50
- Android官方技术文档翻译——新构建系统概述
- 布袋除尘器过滤风速多少_布袋除尘器过滤风速的选择