【问题标题】:How can i record the Android device screen? [closed]如何录制 Android 设备屏幕? [关闭]
【发布时间】:2012-05-21 06:19:09
【问题描述】:

我想创建一个应用程序,使用户能够Capture Screen 他们的 Android 设备。 就像我们在电脑上使用的任何屏幕录像软件一样,请帮帮我

编辑:1

这里Screen capture refers to Screen recording of device screen as video not snapshots of screen.

【问题讨论】:

  • 如果没有 root 权限,您将无法实现这一点。如果没有 root 权限,您只能截取您自己的应用程序的屏幕截图。
  • 你的意思是说像录屏?
  • @ImranRana :谢谢,但请告诉我如何启用应用程序录制

标签: android screen record video-capture


【解决方案1】:

我没有尝试过,但认为可以做到。 Kitkat 提供了新功能,这就是其中之一 您可以使用此命令将屏幕录制为视频

adb shell screenrecord /sdcard/demo.mp4

您可以找到更多详情here

您可以从您的应用程序中执行 adb 命令。 查看答案here

【讨论】:

  • 无法获取输出缓冲区 (err=-38) 编码器失败 (err=-38)
  • 我的华为手机好像被删除了screenrecord
【解决方案2】:

根据 Android 5.0 (Lollipop),无需 root 用户即可使用 MediaProjection package 进行屏幕录制。可以在here 找到记录活动的示例。

【讨论】:

    【解决方案3】:

    唯一的方法是使用有根设备。

    尝试阅读此答案:Programmatic screencapture on mobile device

    编辑 1:

    截屏和视频一样,都是只截一张图片。

    编辑 2:

    有不同的应用程序可以从屏幕录制视频,例如 ScreencastShootMe。您可以在应用程序中使用 startActivity(new Intent(String action)); 及其操作名称来调用它们。

    更多信息请阅读:Open third party app

    【讨论】:

    • 截屏和视频一样是只截取一张图片。完全一样,我知道如何将正在运行的图像转换为视频,但我不会做这项工作,因为我知道这样做会是一个更好的 api
    • 你读过更新号 2 吗?
    【解决方案4】:

    来自longer answer的总结:

    普通的 Android 应用缺乏捕获帧缓冲区的权限(具体来说,它们不是 AID_GRAPHICS 组的成员),因此如果没有某种方法解决权限问题,您就无法从 Android 应用捕获屏幕。应用程序通过以下两种方式之一执行此操作:通过 root 或通过 ADB 接口启动服务器。所以,它可以在没有 root 的情况下完成,但你需要启动你自己的服务器并从你的应用程序连接到它(并且显然,安全地处理这个安全隐患)

    【讨论】:

    猜你喜欢
    • 2021-03-18
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多