Android官方开发文档Training系列课程中文版:调用相机之简单摄像

原文地址:http://android.xsoftlab.net/training/camera/videobasics.html

这节课解释了如何通过已有的相机应用拍摄视频。

假设你的程序含有摄像功能,但是它只是程序很小的一部分功能,你并不想在这么小的功能上花费很大的精力。幸运的是,大多数的安卓设备已经内置了一款相机应用,并且它可以拍摄视频。这节课将会展示如何拍摄视频。

请求相机权限

为了告知系统程序是基于相机的,需要在清单文件中添加 标签。

<manifest ... ><uses-feature android:name="android.hardware.camera"android:required="true" />...
</manifest>

如果程序需要使用,但是为了整个功能而不强制要求相机,那么可以设置android:required为false。这样做的话,Google Play会允许不带相机的设备下载你的程序。不过你有责任需要在运行时通过调用hasSystemFeature(PackageManager.FEATURE_CAMERA)方法检查设备上的相机是否可用。如果相机是不可用的,你应该禁用掉与相机相关的功能。

通过相机APP摄像

Android通过授权的方式让其他程序通过调用一个Intent来描述你想要做的事情。这个过程包含了三块:Intent本身,一个启动外部Activity的调用,以及一些当焦点返回Activity时处理图像数据的代码。

下面代码的功能用于调用一个意图来捕获视频:

static final int REQUEST_VIDEO_CAPTURE = 1;
private void dispatchTakeVideoIntent() {Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);}
}

要注意,startActivityForResult()方法被一个调用resolveActivity()方法的条件所保护,这个方法返回了可以处理这个Intent的第一个Activity组件。执行这项检查是非常重要的,因为如果你调用startActivityForResult()方法所使用的Intent没有APP可以处理的话,那么你的APP将会崩溃。所以只要结果不是null,那么就意味着可以安全使用这个Intent。

查看视频

Android的相机应用会通过onActivityResult()方法将视频返回,视频位于onActivityResult()方法的回调参数Intent中的Uri所指向的位置。下面的代码展示了接收这个视频并且在VideoView中播放它。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {Uri videoUri = intent.getData();mVideoView.setVideoURI(videoUri);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决cuda版本与pytorch版本不兼容问题

解决PyTorch与CUDA版本不匹配&#xff1a; 2 pytorch官网查看安装命令 https://pytorch.org/get-started/locally/ 如果你发现你的版本与上面的都不符合&#xff0c;可以点击 进入以前版本页面&#xff1a;https://pytorch.org/get-started/previous-versions/的安装命令&am…

论文浅尝 | 重新实验评估知识图谱补全方法

论文作者&#xff1a;Farahnaz Akrami&#xff0c;美国德州大学阿灵顿分校&#xff0c;博士生。笔记整理&#xff1a;南京大学&#xff0c;张清恒&#xff0c;硕士生。链接&#xff1a;https://arxiv.org/pdf/2003.08001.pdf代码&#xff1a;https://github.com/idirlab/kgcomp…

Android组件化方案及组件消息总线modular-event实战

背景 组件化作为Android客户端技术的一个重要分支&#xff0c;近年来一直是业界积极探索和实践的方向。美团内部各个Android开发团队也在尝试和实践不同的组件化方案&#xff0c;并且在组件化通信框架上也有很多高质量的产出。最近&#xff0c;我们团队对美团零售收银和美团轻收…

Android官方开发文档Training系列课程中文版:调用相机之控制相机

原文地址&#xff1a;http://android.xsoftlab.net/training/camera/cameradirect.html 在这节课&#xff0c;我们会讨论如何使用Android框架API来直接控制相机硬件。 直接控制设备的相机拍照或者摄像的代码远比通过其他相机应用来完成要多得多。然而&#xff0c;如果你想构建…

我,大学没毕业,在OpenAI搞AI,想教教你如何提升“研究品味”

文 | 蒋宝尚源 | AI科技评论在AI圈里有这么一个人&#xff0c;虽然大学没有毕业&#xff0c;但却做过谷歌大脑研究员&#xff0c;担任过OpenAI团队的领导人。他被人称作“怪胎”&#xff0c;也被人称作神童。他的名字叫做Chris Olah。在众人眼里&#xff0c;他的成长树在一开始…

LeetCode 889. 已知前序后序 求二叉树(不唯一)

1. 题目 返回与给定的前序和后序遍历匹配的任何二叉树。 pre 和 post 遍历中的值是不同的正整数。 示例&#xff1a;输入&#xff1a;pre [1,2,4,5,3,6,7], post [4,5,2,6,7,3,1] 输出&#xff1a;[1,2,3,4,5,6,7]来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链…

cuda run out of memory内存不足的解决方案

https://segmentfault.com/a/1190000022589080

论文浅尝 | TANDA: Transfer and Adapt Pre-Trained Transformer Models

论文笔记整理&#xff1a;王春培&#xff0c;天津大学硕士。链接&#xff1a;https://arxiv.org/pdf/1911.04118.pdf动机这篇文章聚焦的是问答系统&#xff08;Q&A&#xff09;中的一个问题&#xff1a;回答句子选择&#xff08;Answer Sentence Selection&#xff0c;AS2&…

深入浅出排序学习:写给程序员的算法系统开发实践

引言 我们正处在一个知识爆炸的时代&#xff0c;伴随着信息量的剧增和人工智能的蓬勃发展&#xff0c;互联网公司越发具有强烈的个性化、智能化信息展示的需求。而信息展示个性化的典型应用主要包括搜索列表、推荐列表、广告展示等等。 很多人不知道的是&#xff0c;看似简单的…

从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决办法

本篇文章假设读者没有任何的触摸事件基础知识&#xff0c;所以我们会从最基本的触摸事件分发处说起。 ScrollView为什么会出现嵌套EditText出现滑动事件冲突呢&#xff1f;相信你会有这种疑问&#xff0c;我们来看这么一种情况&#xff1a; 有一个固定高度的EditText&#xff…

LeetCode 1185. 一周中的第几天

1. 题目 给你一个日期&#xff0c;请你设计一个算法来判断它是对应一周中的哪一天。 输入为三个整数&#xff1a;day、month 和 year&#xff0c;分别表示日、月、年。 您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursda…

使用NLP和ML来提取和构造Web数据

原文链接&#xff1a;https://blog.csdn.net/fendouaini/article/details/109374462 作者|Conner Brew 编译|VK 来源|Towards Data Science 介绍 在本文中&#xff0c;我们将创建一个基于战争研究所&#xff08;ISW&#xff09;的结构化文档数据库。ISW为外交和情报专业人员提供…

如何评价一个推荐系统的好坏?

文 | Nemo知乎本文已获作者授权&#xff0c;禁止二次转载现如今&#xff0c;推荐系统几乎无处不在。电商购物&#xff0c;有猜你喜欢。资讯阅读&#xff0c;有个性推荐。听歌看电影&#xff0c;都能识别你的兴趣。就连工作社交&#xff0c;也会提示你可能认识的人...推荐系统火…

论文浅尝 | GEOM-GCN: Geometric Graph Convolutional Networks

论文笔记整理&#xff1a;毕祯&#xff0c;浙江大学硕士&#xff0c;研究方向&#xff1a;知识图谱、自然语言处理。动机消息传递神经网络&#xff08;MPNN&#xff09;已成功应用于现实世界中的各种应用中。但是MPNN聚合器的两个基本弱点限制了它们表示图结构数据的能力&#…

ScrollView嵌套EditText联带滑动的解决办法

本篇文章的相关内容需结合上文&#xff1a;从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决办法 在说完了如何解决ScrollView嵌套EditText的滑动事件冲突之后&#xff0c;我们接下来说一下如何实现它们两者之间的联带滑动。什…

数据库智能运维探索与实践

从自动化到智能化运维过渡时&#xff0c;美团DBA团队进行了哪些思考、探索与实践&#xff1f;本文根据赵应钢在“第九届中国数据库技术大会”上的演讲内容整理而成&#xff0c;部分内容有更新。 背景 近些年&#xff0c;传统的数据库运维方式已经越来越难于满足业务方对数据库的…

Github上有趣的100个python项

Github上有趣的100个python项目

论文浅尝 | PAKDD2020 - 利用支持集中匹配信息的 few shot 事件分类方法

论文笔记整理&#xff1a;申时荣&#xff0c;东南大学博士生。来源&#xff1a;PAKDD 2020链接&#xff1a;https://arxiv.xilesou.top/pdf/2002.05295.pdf1.介绍&#xff1a;事件分类是一个重要的信息抽取任务&#xff0c;其目的是根据事件的提及实例对事件类别进行分类。目前…

梯度下降法的神经网络容易收敛到局部最优,为什么应用广泛?

文 | Summer Clover知乎本文已获作者授权&#xff0c;禁止二次转载这是Deep Learning Theory里很基本也很核心的一个问题。在这个问题上&#xff0c;初学者容易被入门教学误导&#xff0c;非此研究方向的业内人士也容易有过时的认知。首先问题描述不够准确。更准确的说法是&…

Android官方开发文档Training系列课程中文版:打印内容之图像打印

原文地址&#xff1a;http://android.xsoftlab.net/training/printing/index.html 引言 Android用户会很频繁的浏览设备上的内容&#xff0c;但是有部分情况例外&#xff0c;当屏幕没有足够的方式可以分享信息的时候。那么可以打印Android应用上的内容便给用户提供了一种方式…