android录制视频,android 录制视频保存到本地

http://www.itjxue.com  2023-01-20 14:33  来源:未知  点击次数: 

安卓手机怎么进行录屏?

如果使用的是华为手机,以华为nova7pro手机为例:

一、使用组合键录屏

同时按住电源键和音量上键启动录屏,再次按住结束录屏。

二、使用快捷开关录屏

1、从状态栏向下滑出通知面板(可继续下滑),点击屏幕录制,启动录屏。

2、点击屏幕上方的红色计时按钮,结束录屏。

3、进入图库查看录屏结果。

三、使用双指关节录屏

1、使用指关节前,请进入 设置 辅助功能 快捷启动及手势 录屏 ,确保录屏开关已开启。

2、双指指关节稍微用力并连续快速地双击屏幕启动录屏,再次双击结束录屏。

四、边录屏,边解说

录屏时,您还可以开启麦克风,边录屏,边解说。

启动录屏后,点击麦克风图标让其处于开启状态,就可以同步记录声音。

当麦克风图标处于关闭状态时,此时仅可以收录系统音(如:音乐)。如您不想收录任何系统音,请在录屏前将手机调成静音并关闭音乐等媒体音。

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录制视频并添加水印

最近有需求,录制视频的时候要添加水印,怎么搞?最后决定,opengles作为相机预览并在上面绘制水印,使用mediacodec进行编码,使用mediamuxer输出mp4文件,有需要的拿走。

本想写篇博客,发现这些无论拿出哪个点都得写半天,我最近也对opengles十分感兴趣,以后有时间详细分析一下.

用法比较简单

waterX和waterY是水印左下角坐标的位置,范围为[-1,1]

效果如下:

最后附上github地址

github

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调用系统相机实现拍照和视频录制

(1)申请权限

(2)设置布局

这里做了一个简单的布局:添加了一个按钮和一个ImageView控件用于显示拍摄的图像。

(3)为按钮添加点击事件监听

点击按钮时,调用系统相机进行拍照,并在确定后将图像显示在ImageView控件中。

(1)申请权限

(2)设置布局

添加了一个按钮和一个VideoView控件用于显示录制的视频。

(3)为按钮添加点击事件监听

同前面一样,点击按钮后调用系统相机进行录制视频,录制完成后点击确定即可将录制的视频显示在VideoView控件中。

对于Android11.0的版本,在调用系统相近进行视频录制的时候,即使在AndroidMenifest.xml中申请了CAMERA权限,还是会在程序运行时报错: Permission? Denial , ? . .... ....? with revoked permission android.permission.CAMERA

解决方法是在程序中动态申请权限:

写在最后:文章是在学习过程中做的学习笔记,同时与志同道合者分享,文章内容均经过我自己实验证实可行,如有问题欢迎留言,很高兴一起交流讨论,共同进步!

(责任编辑:IT教学网)

更多

推荐编程综合文章