当前位置:首页 » 安卓系统 » android调用摄像头

android调用摄像头

发布时间: 2022-01-11 22:56:55

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

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

② 如何在Android手机上使用Chrome来调用手机摄像头

安卓手机设置用前摄像头拍照的步骤如下:
1,打开你手机上的照相机。
2,点击设置选项,里面有将用用前置摄像头拍照的选项,勾上即可。
3,如果设置里面没有,在你照相时屏幕上按快门时那会有一个摄像头转换的标志的,点击它即可。

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

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

④ android 中实现网页调用摄像头功能怎么实现

android 中实现网页调用摄像头功能方法·如下: 1/apk/res/android" xmlns:tools="schemas/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".CameraWebviewActivity" > <Button android:id="@+id/bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Camera" android:layout_alignParentTop="true" /> <WebView android:id="@+id/wv" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_below="@+id/bt" /> </RelativeLayout> 4.、编写activity: public class CameraWebviewActivity extends Activity { private final static String TAG = "CameraWebviewActivity"; private Button bt; private WebView wv; public String fileFullName;//照相后的照片的全整路径 private boolean fromTakePhoto; //是否是从摄像界面返回的webview @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera_webview); initViews(); } private void initViews() { bt = (Button) findViewById(R.id.bt); bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { System.out.println("----------------"); takePhoto( Math.random()*1000+1 + ".jpg"); } }); wv = (WebView) findViewById(R.id.wv); WebSettings setting = wv.getSettings(); setting.setjavaScriptEnabled(true); wv.setWebViewClient(new WebViewClient(){ @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return super.shouldOverrideUrlLoading(view, url); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); } }); wv.setWebChromeClient(new WebChromeClient(){ @Override//实现js中的alert弹窗在Activity中显示 public boolean onJsAlert(WebView view, String url, String message, JsResult result) { Log.d(TAG, message); result.confirm(); return true; } }); wv.loadUrl("file:///android_asset/index.html"); final Handler mHandler = new Handler(); //webview增加javascript接口,监听html页面中的js点击事件 wv.addJavascriptInterface(new Object(){ public String clickOnAndroid() {//将被js调用 mHandler.post(new Runnable() { public void run() { fromTakePhoto = true; //调用 启用摄像头的自定义方法 takePhoto("testimg" + Math.random()*1000+1 + ".jpg"); System.out.println("========fileFullName: " + fileFullName); } }); return fileFullName; } }, "demo"); } /* * 调用摄像头的方法 */ public void takePhoto(String filename) { System.out.println("----start to take photo2 ----"); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_MEDIA_TITLE, "TakePhoto"); //判断是否有SD卡 String sdDir = null; boolean isSDcardExist = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); if(isSDcardExist) { sdDir = Environment.getExternalStorageDirectory().getAbsolutePath(); } else { sdDir = Environment.getRootDirectory().getAbsolutePath(); } //确定相片保存路径 String targetDir = sdDir + "/" + "webview_camera"; File file = new File(targetDir); if (!file.exists()) { file.mkdirs(); } fileFullName = targetDir + "/" + filename; System.out.println("----taking photo fileFullName: " + fileFullName); //初始化并调用摄像头 intent.putExtra(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(fileFullName))); startActivityForResult(intent, 1); } /* * (non-Javadoc) * @see android.app.Activity#onActivityResult(int, int, android.content.Intent) * 重写些方法,判断是否从摄像Activity返回的webview activity */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { System.out.println("----requestCode: " + requestCode + "; resultCode " + resultCode + "; fileFullName: " + fileFullName); if (fromTakePhoto && requestCode ==1 && resultCode ==-1) { wv.loadUrl("javascript:wave2('" + fileFullName + "')"); } else { wv.loadUrl("javascript:wave2('Please take your photo')"); } fromTakePhoto = false; super.onActivityResult(requestCode, resultCode, data); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.camera_webview, menu); return true; } }

⑤ Android开发怎么调用摄像头功能

1、现在Android智能手机的像素都会提供照相的功能,大部分的手机的摄像头的像素都在1000万以上的像素,有的甚至会更高。它们大多都会支持光学变焦、曝光以及快门等等。下面的程序Demo实例示范了使用Camera v2来进行拍照,当用户按下拍照键时,该应用会自动对焦,当对焦成功时拍下照片。layout/activity_main.xml界面布局代码如下:

3、接来了的MainActivity.java程序将会使用CameraManager来打开CameraDevice,并通过CameraDevice创建CameraCaptureSession,然后即可通过CameraCaptureSession进行预览或拍照了。

⑥ Android 应用调用摄像头如何将拍摄的视频存到指定位置

可以自己编程调用手机的摄像头使用MediaRecorder录像并播放。参考http://www.jb51.net/article/33380.htm里面有详细的讲解,谢谢。

⑦ 怎么调用android的摄像头拍照

我们要调用摄像头的拍照功能,显然
第一步必须加入调用摄像头硬件的权限,拍完照后我们要将图片保存在SD卡中,必须加入SD卡读写权限,所以第一步,我们应该在Android清单文件中加入以下代码
<uses-permission android:name="android.permission.CAMERA"/>//摄像头权限
SD卡读写权限
<uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
第二步,要将摄像头捕获的图像实时地显示在手机上。
我们是用SurfaceView这个视图组件来实现的,因此在main.xml中加入下列代码
<SurfaceView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/surfaceview"
/>
第三步,设置窗口的显示方式
首先获得当前窗口Windowwindow = getWindow();//得到窗口
接着设置没有标题requestWindowFeature(Window.FEATURE_NO_TITLE);//没有标题
接着设置全屏 window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏
当然,我们在拍照过程中,屏幕必须一致处于高亮状态,因此接着加入下面代码
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);//设置高亮
至此,我们将窗口的显示方式规定死了,然后才能设置窗口上显示的组件(顺序非常重要)
setContentView(R.layout.main);
第四步,设置SurficeView显示控件的属性
找到surficeView
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
设置它的像素为800x600
surfaceView.getHolder().setFixedSize(800,480);
//下面设置surfaceView不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
第五步,就是为surficeView加入回调方法(callBack)
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();
}
}
}
}
第六步,我们必须对按键事件进行监听,如是拍照还是聚焦,代码如下
public boolean onKeyDown(int keyCode,KeyEvent event) {//处理按键事件
if(camera!=null&&event.getRepeatCount()==0)//代表只按了一下
{
switch(keyCode){
case KeyEvent.KEYCODE_BACK://如果是搜索键
camera.autoFocus(null);//自动对焦
break;
case KeyEvent.KEYCODE_DPAD_CENTER://如果是中间键
camera.takePicture(null, null, new TakePictureCallback());//将拍到的照片给第三个对象中,这里的TakePictureCallback()是自己定义的,在下面的代码中
break;
}
}
return true;//阻止事件往下传递,否则按搜索键会变成系统默认的
}
------------------------------------------------------------------------------------------
private final class TakePictureCallbackimplements PictureCallback{
public void onPictureTaken(byte[] data,Camera camera) {
try {
Bitmap bitmap =BitmapFactory.decodeByteArray(data, 0, data.length);
File file = newFile(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".jpg");
FileOutputStream outputStream = newFileOutputStream(file);
bitmap.compress(CompressFormat.JPEG, 100,outputStream);
outputStream.close();
camera.stopPreview();
camera.startPreview();//处理完数据之后可以预览
} catch (Exception e) {
Log.e(TAG, e.toString());
}
}
}
注意,代码中有两个回调类,一个是SurfaceCallback(),另外一个是TakePictureCallback(),初学者可能一时难以理解,通俗地讲,前者是用来监视surficeView这个暂时存放图片数据的显示控件的,根据它的显示情况调用不同的方法,包括surfaceCreated(),surfaceChanged(),surfaceDestroyed(),也就不难理解为什么会有这三个回调方法了(注意,在surfaceDestroyed()方法中必须释放摄像头,详细代码参见上方)。TakePictureCallback()是为了监视是否拍照而设计的接口,期中也仅有一个方法,camera将拍照得到的数据传入方法,我们便可以对拍照得到的数据进行进一步处理

⑧ android 中实现网页调用摄像头功能怎么实现

页面上做一个按钮,如打开摄像头,它做的事情就是将页面链接到一个特殊的串,如<a href=opencapture打开摄像头</a使用安卓的webview访问网页页面,同时重写shouldOverrideUrlLoading捕获url,当判断url为opencapture时,调用系统摄像头

⑨ Android开发(摄像头的调用)(大神请进……)

打开摄像头,要 start surfaceiew,当activity执行到onStop()时,要判断,然后关闭surfaceiew。这样应该就不会导致程序force close了。或者楼主您直接把force close的log信息打出来,有log才能准确的分析问题。

⑩ Android开发怎么调用摄像头

在Android开发过程中,有时需要调用手机自身设备的功能,上篇文章主要侧重摄像头拍照功能的调用。本篇文章将综合实现拍照与视频的操作

http://blog.csdn.net/mahoking/article/details/28292973

热点内容
数据库设计模板 发布:2024-11-15 00:47:25 浏览:825
编程的悟性 发布:2024-11-15 00:47:24 浏览:733
主流可编译语言 发布:2024-11-15 00:42:23 浏览:729
excel缓存清除 发布:2024-11-15 00:39:53 浏览:486
机械键盘可编程 发布:2024-11-15 00:39:09 浏览:912
php判断字符开头 发布:2024-11-15 00:35:33 浏览:507
网易苹果游戏怎么转移到安卓 发布:2024-11-15 00:07:52 浏览:270
win7php环境搭建 发布:2024-11-15 00:06:55 浏览:17
erpjava 发布:2024-11-14 23:52:23 浏览:253
电脑版地平线四怎么连上服务器 发布:2024-11-14 23:46:42 浏览:472