android - 在android上录制视频的代码

标签 android video recording

我是 Android 开发的新手。

我有一个在安卓设备上录制视频的要求。当我搜索它时,我没有找到任何合适的代码。甚至 android 开发人员也不提供清晰的代码..

请,如果有人有链接或代码..与我分享..

谢谢你..

最佳答案

在xml文件中放一个按钮,你想要打开摄像头进行视频录制。

我在这里放了视频重新编码代码。

这将在您的 sdcard/中创建一个文件夹,或者如果没有插入 sdcard,它将使用系统内置内存。希望你会知道..我不需要对此解释太多。

然后将下面的点击监听器映射到您在 xml 中设计的按钮


    Button recordButton = 
            (Button) findViewById(R.id.CaptureVid);
    recordButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

    String timestamp="1";
    String  timestamp = new SimpleDateFormat("MM-dd-yyyy_HH-mm-ss aa").format(Calendar.getInstance().getTime());
    File filepath = Environment.getExternalStorageDirectory();
    File dir = new File(filepath.getAbsolutePath()+ "/samplevideofolder/");
    dir.mkdirs();
    File mediaFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/samplevideofolder/Video_"+timestamp+".avi");  
    Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    Uri fileUri = Uri.fromFile(mediaFile);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
    intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30); 
    startActivityForResult(intent, VIDEO_CAPTURE);
        }
    });

把这段代码放在下面的某个地方,作为主类中的函数


protected void onActivityResult(int requestCode, int resultCode, Intent data) {


    if (requestCode == VIDEO_CAPTURE) {
      if (resultCode == RESULT_OK) {



         Toast.makeText(this, "Video saved to:\n" +data.getData(), Toast.LENGTH_LONG).show();



      } else if (resultCode == RESULT_CANCELED) {
            Toast.makeText(this, "Video recording cancelled.",  Toast.LENGTH_LONG).show();
      } else {
         //Toast.makeText(this, "Failed to record video",                        Toast.LENGTH_LONG).show();
        }
    }
}

就是这样,你已经完成了视频录制..

在上面的代码中你可以找到这样一行。

intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);

这会在30秒后自动停止视频,,, 如果您想录制更多视频,无限时间..只需评论该行..好的

关于android - 在android上录制视频的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3324934/

相关文章:

java - 如何在屏幕捕获程序中使用 Java 获得超过 30FPS?

ios - 在IOS中录制带有实时时间戳水印的视频,最好使用appcelerator

android - 如何启动Android日历应用程序低于4.0(IceCream)?

video - 在Docker中使用cvlc访问主机网络摄像头

api - 如何通过 Facebook 的 Connect API 将视频发布到我的 Facebook 个人资料页面?

ruby-on-rails - ruby rails : Length of Video as a Paperclip Attachment

android - 如何完成后台播放录音的任务并处理不同的 Activity ?

android - ListView 项点击次数

android - 自创库依赖于另一个自创库

android - 谷歌图像在安卓中按图像搜索