- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Selendroid 来测试我的应用程序。在每次测试开始时,我使用以下函数运行 adb shell screenrecord:
public static Process startScreenRecord(String fileName) throws IOException{
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe", "/c", "cd C:\\Users\\user\\Downloads\\adt-bundle-windows-x86_64-20140702\\adt-bundle-windows-x86_64-20140702\\sdk\\platform-tools\\ && adb shell screenrecord /sdcard/" + fileName);
builder.redirectErrorStream(true);
Process p = builder.start();
return p;
}
录制开始,一切正常。在每次测试结束时,我尝试通过以下代码停止记录:
public static void stopScreenRecord(Process p) throws IOException{
p.destroy();
}
在测试中我使用了以下结构:
Process p = CmdHelper.startScreenRecord("e1.mp4");
//TestCode
CmdHelper.stopScreenRecord(p);
问题是视频录制不会停止。如何在每次测试结束时停止通话录音?
最佳答案
adb shell screenrecord --help
文档说终止它的两种方法是设置时间限制或发送 ctrl-C。
假设时间限制选项对您不起作用,那么问题就是如何发送 ctrl-C 或其等效功能。如果您将输出流连接到 ADB 的标准输入并保持打开状态,则您可以向下发送一个 ctrl-c(或者您最终可能会中断 ADB 而不是远程)。
另一个似乎有效的选项是使用 kill 命令发送 SIGINT(这是 ctrl-C 通常所做的)而不是 kill 通常发送的 SIGTERM 信号。这应该会让屏幕记录过程认为您按下了 ctrl-c。
如果您找到了进程 ID,则以下似乎有效并留下了一个视频文件:
adb shell kill -2 [pid number]
其中 2 是 Linux 和 Android 上 SIGINT 的通常数量。
关于java - 从java停止adb screenrecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25185746/
我正在使用 Selendroid 来测试我的应用程序。在每次测试开始时,我使用以下函数运行 adb shell screenrecord: public static Process startScr
我想创建一个应用程序,它在单击按钮时执行 adb shell screenrecord 命令。 我已经尝试过 Runtime.getRuntime().exec() 方法,但是没有用。我首先在模拟器上
我使用的是装有 v4.4.4 Android 的 Droid Maxx。我正在尝试: adb shell screenrecord /sdcard/myvideo.mp4 而且我能够捕捉视频,显示桌面
我无法运行 adb shell screenrecord/sdcard/my.mp4 我正在尝试运行此命令的设备规范: 荣誉5C 安卓6.0 每当我运行 screenrecord 命令时,它都会显示找
我有一台装有 Android 5.0.2 的 Android 电视。我正在尝试使用 adb 命令中的命令 screenrecord,但它从未开始录制,它只是生成一个空的 mp4 文件。 正如您在图片中
这是我的命令和输出: shell@kltexzy:/sdcard $ screenrecord --verbose tmp.mp4 Main displ
在 linux 下,我使用下面的代码将 android 屏幕转换到 pc,效果很好 adb shell "screenrecord --time-limit 1 --output-format=h26
我正在尝试从终端创建视频,但我无法成功。它在这样的终端上给出错误。 adb shell screenrecord /sdcard/screenshotyyyy.mp4 ERROR: unable t
如何从 Java 在 Android 设备上运行 adb shell screenrecord 并结束 screenrecording? 目前我必须指定--time-limit 来结束录制。如果我尝试
我已经尝试了 fadden 的建议将Android屏幕镜像到PC,但vlc播放器屏幕不显示: 该函数的正确命令行是什么?谢谢。 最佳答案 由于 vlc 无法从 adb std 输出播放 h264 文件
我是一名优秀的程序员,十分优秀!