使用方法:
参考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'
}
}