导航:首页 > 操作系统 > android调用前置相机

android调用前置相机

发布时间:2023-01-23 12:15:53

android如何调用前置摄像头拍照系统自带的相机可以做到吗

包括,摄像头的调用无论前后都时一样的,但是调用一般是后摄像头,而前摄像头在拍照里一般可以调用,其他通常情况下不会使用前摄像头(安全有权限管理,可以自己屏蔽或限制的功能(希望能帮到你))

㈡ Android开发 如何打开前置摄像头的代码

找到surficeView
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
设置它的像素为800x600
surfaceView.getHolder().setFixedSize(800,480);
//下面设置surfaceView不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
然后就是回调
surfaceView.getHolder().addCallback(newSurfaceCallback());
上面的回调类是我们自己定义的,代码如下
private class SurfaceCallback implementsSurfaceHolder.Callback{
@Override
public void surfaceCreated(SurfaceHolderholder) {
try {
camera = Camera.open();//打开硬件摄像头,这里导包得时候一定要注意是android.hardware.Camera
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);//得到窗口管理器
Display display = wm.getDefaultDisplay();//得到当前屏幕
Camera.Parameters parameters =camera.getParameters();//得到摄像头的参数
parameters.setPreviewSize(display.getWidth(),display.getHeight());//设置预览照片的大小
parameters.setPreviewFrameRate(3);//设置每秒3帧
parameters.setPictureFormat(PixelFormat.JPEG);//设置照片的格式
parameters.setJpegQuality(85);//设置照片的质量
parameters.setPictureSize(display.getHeight(),display.getWidth());//设置照片的大小,默认是和屏幕一样大
camera.setParameters(parameters);
camera.setPreviewDisplay(surfaceView.getHolder());//通过SurfaceView显示取景画面
camera.startPreview();//开始预览
isPreview = true;//设置是否预览参数为真
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}

@Override
public void surfaceChanged(SurfaceHolderholder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolderholder) {
if(camera!=null){
if(isPreview){//如果正在预览
camera.stopPreview();
camera.release();
}
}
}
}

㈢ 为什么我手机前置摄像头不好使

有可能是以下几点原因:
1、Android系统要求同时只能有一个应用打开摄像头,当另外一个应用打开摄像头,相机摄像头将无法打开。可以将相机相关的应用先关闭,再进入相机尝试;
2、相机设备属于敏感的功能设备,是否您之前禁用过该应用的使用权限。您可以在路径设置:
EMUI8.X:设置 > 应用和通知 > 权限管理,调用摄像头中查看是否禁用了应用对摄像头的访问权限。请根据实际情况,允许调用摄像头。
EMUI9.0:设置 > 应用> 权限管理,调用摄像头中查看是否禁用了应用对摄像头的访问权限。请根据实际情况,允许调用摄像头。
3、若无法解决,请按照下面建议进行操作。
a、清除相机数据:
EMUI 4.0及以上平台:在主屏幕,点击“设置 >(应用和通知)> 应用管理 > 相机 > 存储”,然后点击“删除 数据”或“清空缓存”。
EMUI 9.0及以上平台:在主屏幕,点击“设置 >应用> 应用管理 > 相机 > 存储”,然后点击“删除数据”或“清空缓存”。
b、请重启手机后再次尝试。
c、请备份重要数据后将手机恢复出厂设置或升级最新系统版本后重试。
d、如果以上操作仍无法解决问题,请您备份好重要数据,携带购机发票前往服务网点检修。

㈣ 如何直接调用安卓Android的系统相机的前置摄像头

1、在手机的设置里面去找相机的设置,
在照相的功能下也可以在选项里面找到更换摄像头的选项,
一般都是按左键出来选单的。
2、在手机菜单里面勾选摄像头选项,切换到你想要的摄像头,然后把那个屏幕切换一下,竖屏或横屏;
3、你若是在找不到就到手机铺里面找售后维修或者在照片拍摄好后,在电脑上面把使用那个图像管理器把图片,点击那个转换头,让图片正过来。

㈤ 为很么在Android程序中调用前置摄像头获得的预览图像旋转了一百八十度注:在系统相机中是正常的

你把这个软件放在其他手机上照相试下,如果还是那样,那就是你下载的软件有问题。

㈥ 求高手提供完美解决方法大多单摄像头android打开前置摄像头失败的问题(主解决荣耀7i方法)

1、在搜索框中直接输入相机搜索。
2、然后搜索结果中点击相机打开。
3、打开摄像头以后,就可以进行拍照或者摄像操作了。
方法二:
1、点击开始菜单所有应用中找到相机,直接点击打开。

㈦ 华为手机相机前置摄像头无法打开怎么办

如果您使用的是华为手机,您的相机无法打开,请您按照以下步骤排查:1.检查更新请提前备份好数据(QQ、微信等第三方应用需单独备份)升级您的手机至最新系统版本,手机系统版本更新会对手机的性能进行优化和升级。2.三方应用无法打开相机如果手机自带相机可以打开,但是第三方应用无法打开相机,可能是三方应用未获取到相机权限。建议您进入设置,搜索进入权限管理,在权限页签,点击调用摄像头/相机,开启对应应用的相机权限。3.系统自带相机无法打开系统自带相机无法打开请您按照以下方法尝试解决:(1)检查是否有其他应用打开了相机系统要求同时只能有一个应用打开相机,当另外一个应用打开相机,相机摄像头将无法打开。部分应用由于自身设计原因可能未及时释放相机,如手电筒、二维码扫描等程序。您可以将相机相关的应用先关闭,再进入相机尝试。如果无法判断是什么应用,可以重启手机后再进入相机重试。(2)清除相机数据进入设置,搜索应用管理,找到相机,点击存储 > 删除数据。(此操作并不会删除图库照片,仅还原相机设置)(3)使用“智能检测”功能检测摄像头请您在手机上我的华为APP上进行检测:进入我的华为APP>服务,点击我要检测 > 进入检测,根据手机提示完成检测。如果是摄像头硬件问题,请您备份好数据(QQ、微信等第三方应用需单独备份),携带购机凭证前往华为客户服务中心检测。(4)将设备恢复出厂设置请提前备份好数据(QQ、微信等第三方应用需单独备份),进入设置,搜索恢复出厂设置,按照手机界面提示完成恢复出厂设置操作。如果以上操作仍无法解决问题,请您备份好数据(QQ、微信等第三方应用需单独备份),携带购机凭证前往华为客户服务中心检测。

㈧ android8.1平板电脑怎么切换前置摄像头

点开相机以后右下角有个圆圈,点开那个就有切换摄像头的选项。

㈨ android 前置摄像头可以autofocus吗

android 前置摄像头可以autofocus方法:
第一:最常见的实现---利用按键或拍照前一次性自动聚焦在Activity里申明变量private
AutoFocusCallback myAutoFocusCallback = null;然后
自动聚焦变量回调

myAutoFocusCallback = new AutoFocusCallback()
{

public void onAutoFocus(boolean success, Camera
camera) {

// TODO Auto-generated method stub

if(success)//success表示对焦成功

{

Log.i(tag, "myAutoFocusCallback:
success...");

//myCamera.setOneShotPreviewCallback(null);

}

else

{

//未对焦成功

Log.i(tag, "myAutoFocusCallback: 失败了...");

}

}

};

在Camera.startPreview()之后,拍照Camera.takePicture()
之前调用myCamera.autoFocus(myAutoFocusCallback)。

第二:
通过TimerTask设置一个定时器来循环,每隔一定时间调用myCamera.autoFocus(myAutoFocusCallback)一次。结果是摄像头一直在自我聚焦,重复清晰--模糊----清晰---模糊的过程。

第三:通过Handler和Thread,开启一个线程进行自动聚焦。本质和第二种是一样的。后续我会写一个demo发上来。

第四:
通过监听传感器来触发autoFocus。常用的是角度传感器或加速度传感器,当监听的值超过一定阈值时触发。这也是国外程序员们常用的思路。

第五:设置聚焦方式为myParam.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
Continuous auto focus mode intended for video
recording. The camera continuously tries to focus. This is the best
choice for video recording because the focus changes smoothly .
Applications still can call takePicture(Camera.ShutterCallback,
Camera.PictureCallback,
Camera.PictureCallback) in this mode
but the subject may not be in focus. Auto focus starts when the
parameter is set.
Since API level 14, applications can
call autoFocus(AutoFocusCallback) in
this mode. The focus callback will immediately return with a
boolean that indicates whether the focus is sharp or not. The focus
position is locked after autoFocus call. If applications want to
resume the continuous focus, cancelAutoFocus must be called.
Restarting the preview will not resume the continuous autofocus. To
stop continuous focus, applications should change the focus mode to
other modes.
意思是在录像的时候调用这种聚焦方式好,在拍照情况下这种聚焦方式可能不成功。
设置之后myParam.set("rotation",
90);
这句话的设置不起作用。拍摄得到的照片和预览的方向是错90度的。需要得到Bitmap之后,利用Matrix自己旋转下。
旋转示例:mBitmap = BitmapFactory.decodeByteArray(data, 0,
data.length);//data是字节数据,将其解析成位图myCamera.stopPreview();isPreview = false;
设置FOCUS_MODE_CONTINUOUS_VIDEO)之后,myParam.set("rotation",
90)失效。图片竟然不能旋转了,故这里要旋转下
Matrix matrix = new Matrix();
matrix.postRotate((float)90.0);
Bitmap rotaBitmap = Bitmap.createBitmap(mBitmap,
0, 0, mBitmap.getWidth(), mBitmap.getHeight(), matrix,
false);
设置成FOCUS_MODE_CONTINUOUS_VIDEO之后,再调用Camera.autoFocus()会聚焦失败。

第六: 就是通过分析onPreviewFrame得到预览帧视频,分析亮度变化,来触Camera.autoFocus()。如果亮度变化,肯定是摄像头和被拍摄物体之间发生了相对运动,需要触发autoFocus()。某些手机里自带的
拍照软件可能就是采用这种方式。

㈩ 如何直接调用安卓Android的系统相机的前置

一种方式是采用MediaStore,调用系统原生的相机。

阅读全文

与android调用前置相机相关的资料

热点内容
重装系统后加密图片损坏 浏览:463
电脑怎么放大缩小app窗口 浏览:523
教育十APP学校怎么更改 浏览:821
空调外机压缩机热保护 浏览:754
winlinux双系统卸载 浏览:239
如何对安卓应用反编译 浏览:410
鲲鹏pc服务器是什么 浏览:572
一级防震梁箍筋加密 浏览:928
linuxxampp64位 浏览:728
西安哪个app能买到东西 浏览:457
eps命令键 浏览:37
塑料文件夹的尺寸 浏览:210
君威压缩机电磁阀 浏览:945
安卓6手机为什么不能用app 浏览:860
什么java编译器支持中文 浏览:563
香港服务器如何做代理 浏览:201
pdf写入 浏览:986
高尔夫电台怎么添加到文件夹 浏览:239
四川麻将一般下哪个app 浏览:864
反编译exe脚本 浏览:462