android录制
❶ 安卓手机如何开录屏
vivo手机屏幕录制的方法如下:
区域录制:
屏幕顶部下滑/底部上滑调出控制中心,找到“超级截屏”,选择“区域录制”--可根据自身需求拖动边缘区域调节录屏区域大小--录视频,即可开始当前屏幕的录制,点击屏幕上的红色按钮可停止录制,并保存录制屏幕的视频文件。
全屏录制:
屏幕顶部下滑/底部上滑调出控制中心,找到“超级截屏”,选择“录制屏幕”,即可开始当前屏幕的录制,点击屏幕上的红色按钮可停止录制,并保存录制屏幕的视频文件。
开启录制声音:
进入设置--系统管理/快捷与辅助-- 超级截屏--录制声音--可选择系统播放音/麦克风声音/系统播放音和麦克风声音,在屏幕录制时,可以录制声音。
❷ Android调用系统相机实现拍照和视频录制
(1)申请权限
(2)设置布局
这里做了一个简单的布局:添加了一个按钮和一个ImageView控件用于显示拍摄的图像。
(3)为按钮添加点击事件监听
点击按钮时,调用系统相机进行拍照,并在确定后将图像显示在ImageView控件中。
(1)申请权限
(2)设置布局
添加了一个按钮和一个VideoView控件用于显示录制的视频。
(3)为按钮添加点击事件监听
同前面一样,点击按钮后调用系统相机进行录制视频,录制完成后点击确定即可将录制的视频显示在VideoView控件中。
对于Android11.0的版本,在调用系统相近进行视频录制的时候,即使在AndroidMenifest.xml中申请了CAMERA权限,还是会在程序运行时报错: Permission Denial , . .... .... with revoked permission android.permission.CAMERA
解决方法是在程序中动态申请权限:
写在最后:文章是在学习过程中做的学习笔记,同时与志同道合者分享,文章内容均经过我自己实验证实可行,如有问题欢迎留言,很高兴一起交流讨论,共同进步!
❸ 安卓手机如何进行录屏操作
如果您使用的是华为手机,以华为nova 7 pro手机为例:
一、使用快捷开关录屏
1、从状态栏向下滑出通知面板(可继续下滑),点击屏幕录制,启动录屏。
2、点击屏幕上方的红色计时按钮,结束录屏。
3、进入图库查看录屏结果。
二、使用组合键录屏
同时按住电源键和音量上键启动录屏,再次按住结束录屏。
三、使用双指关节录屏
1、使用指关节前,请进入 设置 > 辅助功能 > 快捷启动及手势 > 录屏 ,确保录屏开关已开启。
2、双指指关节稍微用力并连续快速地双击屏幕启动录屏,再次双击结束录屏。
四、边录屏,边解说
录屏时,您还可以开启麦克风,边录屏,边解说。
启动录屏后,点击麦克风图标让其处于开启状态,就可以同步记录声音。
当麦克风图标处于关闭状态时,此时仅可以收录系统音(如:音乐)。如您不想收录任何系统音,请在录屏前将手机调成静音并关闭音乐等媒体音。
❹ Android 5.0+ 屏幕录制实现
Android 从 4.0 开始就提供了手机录屏方法,但是需要 root 权限,比较麻烦不容易实现。但是从 5.0 开始,系统提供给了 app 录制屏幕的一系列方法,不需要 root 权限,只需要用户授权即可录屏,相对来说较为简单。本文是在参考了网络上其他录屏资料后完成的, 感谢 。以下将介绍开发录屏功能的一系列步骤以及实现过程中所遇到的一些需要注意的事项。
因为录制用到麦克风,所以需要加上 AUDIO 权限,
如果开发的 app targetApi 在 6.0 以上时,还需要动态获取权限。
这里先介绍 MediaProjectionManager , MediaProjectionManager 是系统提供的一种服务,当我们拿到这个服务对象,可以创建一个 Intent ,通过这个 Intent 可以启动一个弹框样式的 Activity,如果用户授权了,那我们便可以继续下一步屏幕录制。需要说明的是,Intent 是去启动另一个 Activity 的,有极少极少的机型是没有对应的授权Activity 的,所以这里需要多加判断,防止应用奔溃。
即使用户授权了,同意录制操作,仍然需要捕获异常,因为有可能会出现这样一种情况,就是用户在同意录屏的时候系统也正在录屏,录屏操作冲突了。
这一步是整个录屏操作最为关键的一步!我们初始化了 MediaRecorder,设置了是否录上声音、录屏文件格式、录屏文件路径、音视频的编码器、比特率、视频帧率等
然后将在步骤 3 中的 resultCode 以及 data 作为必要的参数通过 MediaProjectionManager 创建 VirtualDisplay。VirtualDisplay 可以理解为虚拟的呈现器,它可以捕获屏幕上的内容,并将其捕获的内容渲染到 Surface 上(Surace 由 MediaRecorder 提供,通过 getSurface() 方法得到),MediaRecorder 再进一步将其封装处理为 Mp4 文件。
经过以上步骤 prepare 之后,当再次调用 MediaRecorder.start() 就可以开始录屏了,这里同意也需要注意的时,调用 start() 方法开始录屏之后,不能立即调用 stop()方法停止录屏,否则会奔溃。测试在测试录屏功能时立马停止录屏,应用奔溃,一直找不到原因。直到看到了源码( API 26 )里的注释
所以为了反正奔溃,在 stop 的时候捕获异常,并且置空 MediaRecorder,下次录屏的时候再重新生成 MediaRecorder。
由于知识水平有限,难免有错误遗漏,欢迎指正!项目地址为 屏幕录制
❺ Android截屏、录屏工具
有时候会用到颜色拾取器这样的东西来查看屏幕上的颜色值,一直是用Pixolor这个软件来看颜色的;很方便,点哪里显示哪里,也没有延迟,以为是什么黑科技;我注意到一个细节,如果只是切换屏幕,颜色拾取器不会更新,只有移动拾取器才更新选中;可以确定是截屏来实现的了,那就简单了,截屏获取像素点的颜色值就好了
网上看了一下,截屏大概分为保存View为图像和调用录屏服务两种办法,录屏是比较好的办法,可以在APP外截屏,所以简单的封装了一下
Step 1. Add the JitPack repository to your build file
Step 2. Add the dependency
主要分为两步,第一步是开启录屏;第二步就可以直接获取截屏,返回Bitmap
截图的过程录屏是开启的,录屏开启就可以进行截屏,操作完需要关闭录屏
截屏过程很快,效果很好
如果是APP外截屏则开启悬浮窗服务,可以通过操作悬浮窗进行截屏
参考文章: Android 截屏方式整理 、 Android录屏(5.0+)
1.初始化一个 MediaProjectionManager
2.创建并启动 Intent
3.在 onActivityResult 中拿到MediaProjection
4.设置VirtualDisplay将图像和展示的View关联起来。一般来说我们会将图像展示到SurfaceView,这里为了为了便于拿到截图,我们使用ImageReader,他内置有SurfaceView。
5.通过ImageReader拿到截图
6.注意截屏之后要及时关闭VirtualDisplay ,因为VirtualDisplay 是十分消耗内存和电量的。
录屏和截屏差不多,只是截屏的时候只是设置了一个ImageReader去获取图像数据,而录屏是设置一个 SurfaceView 去接收内容,获取视频流,然后通过 MediaCodec 来实现视频的硬编码,然后保存为视频文件
初始化录屏的大小和码率
开始录屏,设置输出文件
停止录屏
参考文章: Android视频录制--屏幕录制
1.在 AndroidManifest 中添加权限,Android 6.0 加入的动态权限申请,如果应用的 targetSdkVersion 是 23,申请敏感权限还需要动态申请
中间操作和截屏一样,就是准备开启录屏
5.创建虚拟屏幕,这一步就是通过 MediaProject 录制屏幕的关键所在, VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR 参数是指创建屏幕镜像,所以我们实际录制内容的是屏幕镜像,但内容和实际屏幕是一样的,并且这里我们把 VirtualDisplay 的渲染目标 Surface 设置为 MediaRecorder 的 getSurface ,后面我就可以通过 MediaRecorder 将屏幕内容录制下来,并且存成 video 文件
6.录制屏幕数据,这里利用 MediaRecord 将屏幕内容保存下来
❻ Android录制视频,可限制时长,限大小
Android 录制视频:
public static voidrecordVideo(Context context, intlimit_time, intsize) {
Intent intent =newIntent();
intent.setAction(MediaStore. ACTION_VIDEO_CAPTURE );
intent.putExtra(MediaStore. EXTRA_VIDEO_QUALITY ,1);
intent.addCategory(Intent. CATEGORY_DEFAULT );
if(size !=0) {
//大小限制是long型,int 型无效,所以后边要写一个L
intent.putExtra(MediaStore. EXTRA_SIZE_LIMIT ,size *1024*1024L);//限制录制大小(10M=10 * 1024 * 1024L)
}
if(limit_time !=0) {
intent.putExtra(MediaStore. EXTRA_DURATION_LIMIT ,limit_time);//限制录制时间(10秒=10)
}
File videoFile =createVideoFile(context);
if(videoFile !=null) {
intent.putExtra(MediaStore. EXTRA_OUTPUT ,Uri.fromFile(videoFile));
context.startActivityForResult(intent, CAPTURE_VIDEO_CODE );
}
}
❼ 【Android】使用CameraX实现拍照和录制视频
AndroidX是Jetpack包下的组件,谷歌帮你考虑好了很多细节,用就完事了。这些细节想自己设置的话也可以,不设置使用默认值照样很舒服。
在 Manifest 的 manifest 节点下中加入以下内容:
在 manifest 标签里面加入一条属性:
画黄线不理,如果不加这句,在Android Q上会无法往相册存储文件。
这里参考官方Demo的写法,最底部图层是一个 PreviewView 用来预览,上层放两个按钮,一个用来拍照,一个用来录像。
在 onCreate 里开始主要逻辑。如果已有权限,开启相机预览。
在请求权限返回的时候,判断是否已有权限,如果有了就可以开启预览了
开启预览,把预览内容放进 PreviewView 里。
监听,写在Activity外面
再在Activity里面写一个内部类
界面销毁时关闭线程
Github CameraX-Demo
Google CameraX 开发文档
掘金-JetPack之使用CameraX完成拍照和拍视频
❽ ADB录制视频 Android 视频录制命令 screenrecord
在Android 4.4(Kitkat - API level 19)上集成了一个比较好用的视频(.mp4格式)录制功能 – screenrecord 。
使用方法
1. 基本用法
$ adb shell screenrecord /sdcard/myscreenrecord.mp4
/sdcard/myscreenrecord.mp4 为视频录制文件路径
录制默认分辨率,默认4Mbps,默认180s的视频,保存到sdcard上名为myscreenrecord.mp4
2. 旋转(参数:–rotate)
$ adb shell screenrecord --rotate /sdcard/myscreenrecord.mp4
旋转90度
3. 指定分辨率(参数:–size)
$adb shell screenrecord --size 112x112 /sdcard/myscreenrecord.mp4
分辨率为112x112,建议不要指定分辨率,使用默认分辨率效果最佳;
注意,分辨率不是完全可以随意定制的,比如在我手机上录制100x100的会提示错误:
The max width/height supported by codec is1920x1088
100x100is not supported by codec, suggest to set it as112x112
4. 指定比特率(参数:–bit-rate)
$adb shell screenrecord --bit -rate 8000000 /sdcard/myscreenrecord.mp4
设置比特率为8Mbps,比特率越大,文件越大,画面越清晰;
5. 限制录制时间 (参数: –time-limit)
$adb shell screenrecord --time -limit 10 /sdcard/myscreenrecord.mp4
限制视频录制时间为10s,如果不限制,默认180s
6. 导出视频
$adb pull /sdcard/myscreenrecord.mp4
7. 注意
请关注视频文件生成大小,根据自身情况而定;
暂不支持声音;
咱时不支持模拟器录制( 模拟器录制看这里 ),出现如下提示:Unable to get output buffers (err=-38)
Encoder failed (err=-38),可认为是此原因;
8. 命令查看
adb shell screenrecord --help
Usage: screenrecord [options]
Records the device's display to a .mp4 file.
Options:
--size WIDTHxHEIGHT
Set the video size, e.g."1280x720". Default is the device's main
display resolution (if supported), 1280x720if not. For best
results,use a size supported by the AVC encoder.
--bit -rate RATE
Set the video bit rate, in megabits per second. Default4Mbps.
--time -limit TIME
Set the maximum recording time, in seconds. Default / maximum is180.
--rotate
Rotate the output90 degrees.
--verbose
Display interesting information on stdout.
--help
Showthis message.
Recording continues until Ctrl-C is hit or the time limit is reached.
❾ 安卓手机怎么录屏
安卓手机录屏的方法如下:
从状态栏向下滑出通知面板(可继续下滑),点击屏幕录制,启动录屏。点击屏幕上方的红色计时按钮,结束录屏。
安卓简介:
安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由安迪·鲁宾开发,主要支持手机。
2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。
2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。