安卓双摄像头录像_Android Camera 系列(一)拍照和录制视频

概述

Camera 可能是接下来个人想深入学习的课题,准备新起一个系列,从个人的角度总结阐述自己对于 Android Camera 的研究过程,希望也能够对其他想学习 Camera 的同学一些帮助。

一、拍照

本课程将阐述如何通过委托Android设备上的其他相机应用程序进行拍照 (如果您更愿意构建自己的相机功能,请参阅 控制相机 )。

请求相机功能

如果您的应用程序的基本功能涉及到 拍照,请将其在Google Play上的可见性限制为具有相机的设备。 以声明您的应用程序依赖于摄像头,请在清单文件中放置标记。

android:required="true" />

...

使用其他相机APP拍照

你可以通过Android的Intent将拍照行为委托给其他的拍照应用, 此过程涉及三个部分:Intent本身,调用并启动外部Activity,以及在Activity中处理回调的数据。

下面是调用启动拍照应用的函数代码:

val REQUEST_IMAGE_CAPTURE = 1

private fun dispatchTakePictureIntent() {

Intent(MediaStore.ACTION_IMAGE_CAPTURE).also { takePictureIntent ->

takePictureIntent.resolveActivity(packageManager)?.also {

startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE)

}

}

}

请注意,调用startActivityForResult函数之前,请先通过调用resolveActivity函数以保证startActivityForResult函数中的Intent能够被正确的处理,否则将会导致应用的崩溃。

获取缩略图

Android Camera应用程序将返回的Intent中的照片通过onActivityResult()返回,作为附加内容中的一个小位图,位于关键字data下。 以下代码检索此结果并将其显示在ImageView中:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {

if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值