以编程方式如何在Android中创建视频

时间:2014-09-23 10:26:14

标签: android video screen video-recording

我想创建一个应用程序,它可以将屏幕行为记录为将在设备上以编程方式保存的视频。任何人都能帮助我吗?

2 个答案:

答案 0 :(得分:2)

幸运的是,出于明显的隐私和安全原因,除了可能在root设备上之外,这是不可能的。应用无法记录其他应用在屏幕上显示的内容。

答案 1 :(得分:0)

对于有根设备,您可以使用FFMPEG或JavaCV截取屏幕截图并根据这些屏幕截图制作视频。

实际上已经多次讨论过这个话题。

以下是如何获取超级用户权限并获取屏幕截图的示例。

if (Environment.MEDIA_MOUNTED.equals(Environment
        .getExternalStorageState())) {

    // we check if external storage is\ available, otherwise
    // display an error message to the user using Toast Message
    File sdCard = Environment.getExternalStorageDirectory();
    File directory = new File(sdCard.getAbsolutePath() + "/ScreenShots");
    directory.mkdirs();

    String filename = "screenshot_jpeg_" + i + ".png";
    File yourFile = new File(directory, filename);



    try {
        Process sh = Runtime.getRuntime().exec("su", null, null);
        OutputStream os = sh.getOutputStream();
        os.write(("/system/bin/screencap -p " + "/sdcard/ScreenShots/" + filename).getBytes("ASCII"));


        os.flush();
        os.close();
        sh.waitFor();
        i++;
    } catch (Exception e) {
        e.printStackTrace();
    }
}

您可以在以下topichere上查看FFMPEG的其他解决方案