Ⅰ android调用系统相机实现拍照和视频录制
(1)申请权限
(2)设置布局
这里做了一个简单的布局:添加了一个按钮和一个ImageView控件用于显示拍摄的图像。
(3)为按钮添加点击事件监听
点击按钮时,调用系统相机进行拍照,并在确定后将图像显示在ImageView控件中。
(1)申请权限
(2)设置布局
添加了一个按钮和一个VideoView控件用于显示录制的视频。
(3)为按钮添加点击事件监听
同前面一样,点击按钮后调用系统相机进行录制视频,录制完成后点击确定即可将录制的视频显示在VideoView控件中。
对于Android11.0的版本,在调用系统相近进行视频录制的时候,即使在AndroidMenifest.xml中申请了CAMERA权限,还是会在程序运行时报错: Permission Denial , . .... .... with revoked permission android.permission.CAMERA
解决方法是在程序中动态申请权限:
写在最后:文章是在学习过程中做的学习笔记,同时与志同道合者分享,文章内容均经过我自己实验证实可行,如有问题欢迎留言,很高兴一起交流讨论,共同进步!
Ⅱ android 阿里云短视频上传,混淆代码是什么
是否集成了第三方SDK,查看是否是其它SDk混淆导致的。
关于代码混淆注意事项
摘要:若使用studio新建项目,会自动生成混淆的相关文件,已经入过很多坑,有几点需注意。1.作为library的mole,不可进行混淆,否则其他mole无法引用,因为会找不到其中被混淆的类,可在主mole中配置混淆.2.注意项目中的bean,尤其是实现Serializable接口的类,在用bundle传输时会出现的问题,必须keep其变量:keepclassmembersclass*implementsjava.io.Serializable{*;}3.一定要keep
若使用studio新建项目,会自动生成混淆的相关文件,已经入过很多坑,有几点需注意。
1.作为library的mole,不可进行混淆,否则其他mole无法引用,因为会找不到其中被混淆的类,可在主mole中配置混淆.
2.注意项目中的bean,尤其是实现 Serializable接口的类,在用bundle传输时会出现的问题,必须keep其变量:keepclassmembers class * implements java.io.Serializable {*;}
3.一定要keep安卓的主要组件类名,如activity,service等等。
Keep public class * extends android.app.activity
4.一定keep第三方类库中的所有东东
Keep class com..**{*;}
5.注意keep Gson,json,R文件,接口,用到 js 调用时注意webview。
Ⅲ android如何实现视频边录边上传
/**
*实时上传到PC端(边录边传)
*
*/
.OnClickListener
{
@Override
publicvoidonClick(Viewv)
{
if(!Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED))
{
Toast.makeText(MainActivity.this,R.string.sdcarderror,1)
.show();
return;
}
try
{
switch(v.getId())
{
caseR.id.record:
mediaRecorder.reset();
mediaRecorder
.setVideoSource(MediaRecorder.VideoSource.CAMERA);//从照相机采集视频
//mediaRecorder
//.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder
.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
mediaRecorder.setVideoSize(480,320);
mediaRecorder.setVideoFrameRate(3);//每秒3帧
mediaRecorder
.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);//设置视频编码方式
//mediaRecorder
//.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setPreviewDisplay(surfaceView.getHolder()
.getSurface());
//实时上传的代码
receiver=newSocket("192.168.1.149",9999);
ParcelFileDescriptorpfd=ParcelFileDescriptor
.fromSocket(receiver);
mediaRecorder.setOutputFile(pfd.getFileDescriptor());
mediaRecorder.prepare();//预期准备
mediaRecorder.start();//开始刻录
record=true;
break;
caseR.id.stop:
if(record)
{
System.out.println(videoFile);
mediaRecorder.stop();
mediaRecorder.release();
receiver.close();
record=false;
}
break;
}
}catch(Exceptione)
{
Toast.makeText(MainActivity.this,R.string.error,1).show();
Log.e(TAG,e.toString());
}
}
}
Ⅳ Android开发,上传短视频到阿里云 报401未授权怎么解决 后台说已经授权了
可能有如下两个原因:
1. 没有去申请授权,建议查看一下?
2. 接口中传错了,可以自己把请求信息打印出来仔细查看下,或者发出来看看。