android拍照截图组件,Android截图命令screencap与视频录制命令screenrecord(示例代码)...

查看帮助命令[email protected] ~$ adb shell screencap -v

screencap: invalid option -- v

usage: screencap [-hp] [-d display-id] [FILENAME]

-h: this message

-p: save the file as a png.

-d: specify the display id to capture, default 0.

If FILENAME ends with .png it will be saved as a png.

If FILENAME is not given, the results will be printed to stdout.

注意:

如果文件名以.png结尾时,它将保存为png文件

如果文件名没有给出,则结果被会被输出到stdout

截图保存到SD卡里再导出$ adb shell screencap -p /sdcard/screen.png

$ adb pull /sdcard/screen.png

$ adb shell rm /sdcard/screen.png

这种方法比较麻烦,需要3步:1. 截图保存到sdcard 2.将图片导出 3.删除sdcard中的图片

截图直接保存到电脑$ adb shell screencap -p | sed ‘s/\r$//‘ > screen.png

执行adb shell 将\n转换\r\n, 因此需要用sed删除多余的\r

如果直接当命令用还可以用 alias 包裝装起來:$ alias and-screencap="adb shell screencap -p | sed ‘s/\r$//‘"

$ and-screencap > screen.png

以后就可以方便的用and-screencap > 直接将截图保存到电脑上了

转:http://blog.csdn.net/wirelessqa/article/details/22725581

Android视频录制命令screenrecord

你要知道:

screenrecord是一个shell命令

支持Android4.4(API level 19)以上

支持视频格式: mp4

一些限制

某些设备可能无法直接录制,原因是分辨率太高,如果遇到此类问题,请试着指定较低的分辨率

不支持录制过程中屏幕旋转,如果录制过程中旋转,有可能画面被切断

录制视频的时候声音不会被录下来

开始录制命令:adb shell screenrecord /sdcard/demo.mp4

说明:录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s

限制录制时间:

参数: --time-limitadb shell screenrecord --time-limit 10 /sdcard/demo.mp4

说明:限制视频录制时间为10s,如果不限制,默认180s

指定视频分辨率大小:

参数: --sizeadb shell screenrecord --size 1280*720 /sdcard/demo.mp4

说明:录制视频,分辨率为1280*720,如果不指定默认使用手机的分辨率,为获得最佳效果,请使用设备上的高级视频编码(AVC)支持的大小

指定视频的比特率

参数: --bit-rateadb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4

说明:指定视频的比特率为6Mbps,如果不指定,默认为4Mbps. 你可以增加比特率以提高视频质量或为了让文件更小而降低比特率

在命令行显示log

参数: --verbose[email protected] wirelessqa$ adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4

Main display is 1080x1920 @60.00fps (orientation=0)

Configuring recorder for 1080x1920 video at 4.00Mbps

Content area is 1080x1920 at offset x=0 y=0

Time limit reached

Encoder stopping; recorded 96 frames in 10 seconds

Stopping encoder and muxer

Executing: /system/bin/am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/demo.mp4

Broadcasting: Intent { act=android.intent.action.MEDIA_SCANNER_SCAN_FILE dat=file:///sdcard/demo.mp4 }

Broadcast completed: result=0

旋转90度

参数: --rotate

说明:此功能为实验性的,好不好用不知道

查看帮助命令

参数: --help[email protected] ~$ 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), 1280x720 if not. For best results,

use a size supported by the AVC encoder.

--bit-rate RATE

Set the video bit rate, in megabits per second. Default 4Mbps.

--time-limit TIME

Set the maximum recording time, in seconds. Default / maximum is 180.

--rotate

Rotate the output 90 degrees.

--verbose

Display interesting information on stdout.

--help

Show this message.

Recording continues until Ctrl-C is hit or the time limit is reached.

导出视频:adb pull /sdcard/demo.mp4

说明:导出视频到当前目录

0a240a38c23687de19c913d25b4e1c02.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

usaco 2017 February platinum

1.一条路,两边都是一个1到n的全排列,可以把其中一个全排列的起始位置改变(比如123可以变成231或者312) 然后把相同的数连起来,求小交叉数。 先算一下交叉数,然后直接一步步移动,O1更新一下状态就…

Hessian 源码简单分析

Hessian 源码简单分析 Hessian 是一个rpc框架, 我们需要先写一个服务端, 然后在客户端远程的调用它即可。 服务端: 服务端通常和spring 做集成。 首先写一个接口: public interface HelloService { void sayHello(String n…

Java开发人员应该知道的三件事

对于那些长期关注JavaOne 2012会议的读者来说,这是一篇有趣的文章。 我最近对Java冠军Heinz Kabutz的采访引起了我的注意; 包括他的Java内存难题程序,从Java内存管理的角度来看,这很有启发性。 采访中有一个特别的部分吸引了我的注…

android怎么垂直居中且靠右,placeholder 靠右垂直居中/位置兼容

1.input输入框文字靠右垂直居中。2.placehoder提示同样靠右垂直居中。( placeholder是HTML5 input的新属性,英文意思是占位符,它一般表示input输入框的默认提示值。)css代码input {text-align: right;font-size:0.3rem;width:100%;height:0.78rem;line-…

Python-Matplotlib 18 注释

Python-Matplotlib 18 注释 EG1: import numpy as np import matplotlib.pyplot as plty np.arange(-5, 6,1) plt.plot(y, y*y) plt.annotate(Annotate , xy(0,1) , xytext(0,5) ,arrowpropsdict(facecolorr , frac0.2 ))plt.show()转载于:https://www.cnblogs.com/zsr0401/p/…

while和for循环

循环结构图: 循环结构主要分为两种:有while和for两种循环,while又分为do{...}while和while{...},do...while表示先执行后判断,而while循坏表示先判断后执行,如果循环条件都不满足的情况下,do...while至少执…

通过beforeClass和afterClass设置增强Spring Test Framework

如何允许实例方法作为JUnit BeforeClass行为运行 JUnit允许您在所有测试方法调用之前和之后一次在类级别上设置方法。 但是,通过有意设计,他们将其限制为仅使用BeforeClass和AfterClass批注的静态方法。 例如,此简单的演示显示了典型的Junit设…

华为鸿蒙出来正当时,关于华为鸿蒙操作系统,中兴率先表态

原标题:关于华为鸿蒙操作系统,中兴率先表态 来源:科技数码迷进入2021年之后中兴这个品牌的存在感越来越强了,并且还学会了借势营销。每当国内智能手机领域有大事之时总会看到中兴或红魔手机的身影。这说明在5G过渡期中兴要借个机会…

条件变量(Condition Variable)详解

转载于:http://blog.csdn.net/erickhuang1989/article/details/8754357 条件变量(Condtion Variable)是在多线程程序中用来实现“等待->唤醒”逻辑常用的方法。举个简单的例子,应用程序A中包含两个线程t1和t2。t1需要在bool变量test_cond为true时才能…

C++中的深拷贝和浅拷贝 QT中的深拷贝,浅拷贝和隐式共享

下面是C中定义的深,浅拷贝 当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数&#…

使用PowerMock模拟构造函数

我认为,依赖项注入的主要好处之一是可以将模拟和/或存根对象注入代码中,以提高可测试性,增加测试覆盖率并编写更好,更有意义的测试。 但是,有时候您会遇到一些不使用依赖注入的传统代码,而是通过组合而不是…

Brackets (区间DP)

个人心得:今天就做了这些区间DP,这一题开始想用最长子序列那些套路的,后面发现不满足无后效性的问题,即(,)的配对 对结果有一定的影响,后面想着就用上一题的思想就慢慢的从小一步一步…

android生成aar无效,android studio生成aar包并在其他工程引用aar包的方法

1.aar包是android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件2.生成aar包步骤:①.用android studio打开一个工程,然后新建一个Module&#…

《剑指offer》— JavaScript(3)从尾到头打印链表

从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值。 实现代码 /*function ListNode(x){this.val x;this.next null; }*/ function printListFromTailToHead(head) {var res[];while(head){res.unshift(head.val);headhead.next;}return res;…

JUnit测试Spring Service和DAO(带有内存数据库)

这篇文章描述了如何为Spring Web Application的Services和DAO实现JUnit测试。 它建立在Spring MVC-Service-DAO-Persistence Architecture Example的基础上 。 从Github的Spring-Web-JPA-Testing目录中可以找到该示例。 提醒 测试装置 –固定状态,用作运行测试的基…

c# 正则获取html标签内容,c# – 使用正则表达式在多个HTML标记之间获取文本

使用正则表达式,我希望能够在多个DIV标记之间获取文本.例如,以下内容:first html taganother tag输出:first html taganother tag我使用的正则表达式模式只匹配我的最后一个div标签并错过了第一个.码:static void Main(string[] args){string…

Android之外部存储(SD卡)

*手机的外部存储空间,这个我们可以理解成电脑的外接移动硬盘,U盘也行。所有的Android设备都有两个文件存储区域:“内部”和“外部”存储器。这两个名称来自早期的Android,当时大多数设备都提供内置的固定的内存(内置存…

通用并发对象池

在本文中,我们将介绍如何在Java中创建对象池。 近年来,JVM的性能成倍增加,大多数类型的对象几乎都变得多余,从而提高了对象池的性能。 从本质上讲,对象的创建不再像以前那样昂贵。 但是,有些对象在创建时肯…

圆周率的代码表示,以及对其的理解。

转载的简书,for 记录以及记忆。 http://www.jianshu.com/p/7208e4a58310 Thanks again! 转载于:https://www.cnblogs.com/xiapeng0701/p/7538281.html

华为NOVa8Pr0是用鸿蒙系统吗,华为Nova8即将发布,采用麒麟芯片,高端平板适配鸿蒙系统...

大家好,我是老孙自从华为Mate40系列发布后,下一步新机动态备受外界关注,华为究竟会不会继续生产手机呢?答案是肯定,华为Nova8系列将于本月发布,华为P50系列也在积极筹备,而且都少不了麒麟芯片&a…