Android开发短视频录制

原创 2016年08月30日 16:07:56

使用方法:

参考demo使用简单,直接可以录制,可以设置录制时间长短。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(com.taobao.taorecorder.R.layout.aliwx_sv_recorder_activity_recorder);

    this.mContext = this;

    try {
        this._quality = 0;
        //录制时间20秒,自由设置,建议设置15秒最佳
        this._maxDuration = 20000;

返回的参数有:

Intent intent1 = new Intent(YWRecordVideoActivity.this, EditVideoActivity.class);
//视频路径
intent1.putExtra("videoPath", targetVideoPath);
//图片路径
intent1.putExtra("framePicPath", targetJpgPath);
//录制时间
intent1.putExtra("videoDuration", stime);
//录制大小
intent1.putExtra("videoSize", size1);
startActivity(intent1);

具体效果:





差点忘记给6.0添加权限了


修改MAinActivity.java,添加动态申请权限


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
                    Log.d("SDK_INT", Build.VERSION.SDK_INT + "+" + Build.VERSION_CODES.M);
                    Intent intent = new Intent(MainActivity.this, YWRecordVideoActivity.class);
                    startActivity(intent);
                } else {
                    if (!(checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED)) {
                        if (shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)) {

                        }
                        requestCameraPermission();
                    } else {
                        Intent intent = new Intent(MainActivity.this, YWRecordVideoActivity.class);
                        startActivity(intent);
                    }
                }
            }
        });
    }

    private static final int REQUEST_PERMISSION_CAMERA_CODE = 1;

    @TargetApi(Build.VERSION_CODES.M)
    private void requestCameraPermission() {
        requestPermissions(new String[]{Manifest.permission.CAMERA}, REQUEST_PERMISSION_CAMERA_CODE);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == REQUEST_PERMISSION_CAMERA_CODE) {
            int grantResult = grantResults[0];
            boolean granted = grantResult == PackageManager.PERMISSION_GRANTED;
        }
    }
}

最后有注意在你app的AndroidManifest.xml配置一下

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:replace="android:label,android:icon,android:allowBackup,android:supportsRtl,android:theme">
>

application使用了多少属性,replace就设置多少个


最后,如果.so冲突

请在项目里的build.gradle里面加上

    buildTypes {
        debug {
            ndk {
                abiFilters "x86", "armeabi-v7a", "armeabi"
                //abiFilters ABI_FILTERS
            }
        }


        release {
            debuggable false
            ndk {
                abiFilters "x86", "armeabi-v7a", "armeabi"
                //abiFilters ABI_FILTERS
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }




视频demo下载链接:

http://download.csdn.net/detail/longsh_/9616966


Android使用MediaRecorder和Camera实现视频录制及播放功能整理

这两天产品经理向我丢来一个新需求,需要在项目里添加一个视频录制的功能,正好是我没做过的,于是研究了一番。在网上搜索了一些案例,但是都是不完整的,要不就是分辨率有问题的,要不就是声音有问题的,要不就是实...
  • woshizisezise
  • woshizisezise
  • 2016年07月11日 13:37
  • 19947

Android (系统+自定义)短视频录制(含暂停继续录制功能) 总结

前言 在Android开发中自然少不了对视频录制的需求,然而视频录制虽然有系统提供给我们能够直接使用的API,但是我们往往在完成需求的过程中需要自定义实现短视频录制。网上虽然也有不少资料,但是总是...
  • Android_Technology
  • Android_Technology
  • 2017年04月06日 18:21
  • 3345

Android仿微信小视频录制功能

Android仿微信小视频录制功能
  • u012227600
  • u012227600
  • 2016年03月09日 15:18
  • 25131

Android上实现视频录制

尽管Google的SDK文档写到了相关的,内容但是实在是太短小精悍了,因为需要写个简单的Demo,所以学习了一下。现在,我们一起来看看,到底要怎么去写吧: 首先,我们肯定要用到摄像头,因此需要在Man...
  • james_zhu688
  • james_zhu688
  • 2011年02月18日 10:29
  • 32609

android 录制视频及调取本地视频

这是今天要实现的功能 我是使用的ActionSheetDialog,可自行百度 在按钮里面添加showVideoDialog();方法,弹出视频选择对话框 private void show...
  • Heatherhh
  • Heatherhh
  • 2017年05月08日 17:11
  • 2201

Android 视频录制

/**      * 开始录制 Camera mCamera; MediaRecorder mMediaRecorder = new MediaRecorder();  private...
  • u010271952
  • u010271952
  • 2017年02月10日 16:42
  • 269

android录制视频实现

Android视频录制使用MediaRecorder来录制,SurfaceView来预览视频 与录制音频类似,录制视频的步骤为: 1.  构造MediaRecorder对象 2.  设置视频的声音...
  • csdn_blog_lcl
  • csdn_blog_lcl
  • 2016年09月26日 21:19
  • 941

利用FFmpeg玩转Android视频录制与压缩(一)

Android下利用FFmpeg玩转视频录制与压缩(一) 说明: 本库暂时是在秒拍开源库上做的二次开发,旨在开发简单好用高效的视频录制库。本篇文档只涉及Java层次逻辑,正在业余修炼c语言与JNI...
  • mabeijianxi
  • mabeijianxi
  • 2017年03月19日 00:02
  • 22216

Android仿微信小视频录制功能(二)

Android仿微信小视频录制功能(二)
  • u012227600
  • u012227600
  • 2016年03月16日 16:54
  • 4985

Android视频录制--屏幕录制

上一篇介绍了MediaProjection,这个类可以用来实现安卓屏幕数据的采集,也就是手机一帧帧的截图,并输出成byte流的格式。 有兴趣的同学可以看这篇: Android视频录制--Media...
  • l00149133
  • l00149133
  • 2016年01月08日 15:35
  • 7802
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android开发短视频录制
举报原因:
原因补充:

(最多只允许输入30个字)