Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Camera.setPreviewDisplay上的异常(SurfaceHolder)

Camera.setPreviewDisplay上的异常(SurfaceHolder)
EN

Stack Overflow用户
提问于 2013-03-18 03:05:31
回答 1查看 1.9K关注 0票数 0

这里是Android编程的新手。

我环顾了一下周围,发现这是一个常见的问题,但我真的看不到一个简单的解决方案……我尝试在Nexus7(我已经尝试过AVD和物理设备)上运行以下代码,但没有任何运气。这似乎是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
camera.setPreviewDisplay(SurfaceHolder);

但我可能错了。下面是当前的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MainActivity extends Activity implements SurfaceHolder.Callback{

 Camera camera;
 SurfaceView surfaceView;
 SurfaceHolder surfaceHolder;
 boolean previewing = false;;

   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.cameralayout);


       getWindow().setFormat(PixelFormat.UNKNOWN);
       surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
       surfaceHolder = surfaceView.getHolder();
       surfaceHolder.addCallback(this);

   }

   public void onClick() {
    // TODO Auto-generated method stub
    if(!previewing){
     camera = Camera.open();
     if (camera != null){
      try {
       camera.setPreviewDisplay(surfaceHolder);
       camera.startPreview();
       previewing = true;
      } catch (IOException e) {
       e.printStackTrace();
      }

    }
    }
   }

有什么想法吗?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-18 03:36:56

来自android documentation关于Camera.open()

创建一个新的Camera对象来访问设备上的第一个后置摄像头。如果设备没有后置摄像头,则返回null。

它只给你一个后置摄像头的入口。

我尝试在Nexus7上运行以下代码

Camera.open()返回null,因为Nexus7没有后置摄像头,只有前置摄像头。

你可以试试这个方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public Camera getCamera()
{

    for(int i = 0; i < Camera.getNumberOfCameras(); i++)
        return Camera.open(i);

    return null;
}

要申请,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
camera = getCamera();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15469150

复制
相关文章
C++ this指针:用于在成员函数中指向调用该函数的对象
C++中this指针是一个指向当前对象的指针。在成员函数中,可以使用this指针来访问调用该函数的对象的成员变量和成员函数。
很酷的站长
2023/08/25
2650
C++ this指针:用于在成员函数中指向调用该函数的对象
宏函数使用的陷阱
在嵌入式软件设计中,有工程师经常会定义一些宏函数,宏函数的使用虽然可以减少开销,但是宏函数的使用一定要小心,例如我们定义一个求取两个数中的较大者的宏函数来做试验。在调用的地方打断点观察值。 通过仿真可
用户1605515
2018/04/11
1K0
宏函数使用的陷阱
函数c()_函数的调用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/15
3.5K0
匿名函数自调用_自己调用自己的函数叫
我们知道一个HTML文件在被加载的时候是从根标签html依次往下的,在遇到link,script等标签引入的外部资源时,下载外部资源,并执行外部资源。在js中,表达式会被立即执行,也就是说,不管是引入的外部js文件还是嵌入在html文件中的js脚本,其中的表达式都会被立即执行。 函数名是一个指向函数的指针。在JavaScript中,定义函数有常见的两种形式:函数声明和函数直接量(或者叫函数表达式)。 函数声明:采用function定义声明函数的标准写法,包括function,函数名,函数体。如
全栈程序员站长
2022/11/09
2.5K0
奇怪的函数调用
整理移动硬盘时,发现一个名为 attack 的目录,进去以后发现原来是一段简单的 C 语言代码。代码如下:
码农UP2U
2021/09/02
1.7K0
奇怪的函数调用
这些宏的REGISTER和CALL函数
通过Auto_Open可以让宏表自动运行,通过隐藏宏表可以做到简单的隐藏效果。而在实战环境中,我们更关注的是能否执行我们的shellcode。
用户7737280
2021/11/29
3300
oracle函数的调用应使用execute命令_matlab函数调用
之前一直使用的MySQL数据库,第一次接触Oracle就用到了函数和存储过程,今天跟大家分享一下使用过程.
全栈程序员站长
2022/10/04
2.2K0
oracle函数的调用应使用execute命令_matlab函数调用
JavaScript 的 this 小结纯粹的函数调用作为对象方法的调用作为构造函数调用apply 调用
函数的不同使用场合,this有不同的值。 总的来说,this就是函数运行时所在的环境对象。 下面分情况,详细讨论
JavaEdge
2018/08/02
2.7K0
JavaScript 的 this 小结纯粹的函数调用作为对象方法的调用作为构造函数调用apply 调用
c++函数调用,函数编写(写自己的函数)以及数组调用,传递
在matlab里.m文件分执行文件和函数文件 在c++中执行文件指:main函数 函数文件:其他所有需要用到的函数
用户7886150
2021/02/03
2.3K0
李宏毅的强化学习视频用于梳理翻阅
最终说明OpenAI的默认强化学习算法PPO的部分。(Proximal Policy Optimization)
嘘、小点声
2020/05/20
5500
宏函数比普通函数效率高
总结一句话:一般情况下,普通函数调用有调用过程的开销,而宏函数是直接替换没有开销,因此效率更高。
小锋学长生活大爆炸
2020/10/28
1.4K0
Win32汇编:过程与宏调用
在计算机领域,堆栈是一个不容忽视的概念,堆栈是一种后进先出(LIFO,Last-In,First-Out)的数据结构,这是因为最后压入堆栈的值总是最先被取出,而新数值在执行PUSH压栈时总是被加到堆栈的最顶端,数据也总是从堆栈的最顶端被取出,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场.
微软技术分享
2022/12/28
6610
Lua函数的冒号调用和点调用
冒号定义函数中的self指向函数所属表对象,即self是table类型,通过self表可以:访问挂载在该表下的所有冒号定义函数 如,有定义A={},A:b() A:c();函数b,c都是冒号定义函数,在b,c函数内部self是地址指向A的表,在b函数中可以通过self:c()来调用c函数,同理在c函数中也可以通过self:b()来调用b函数 代码示例:
bering
2020/03/19
3.4K0
Win32汇编:过程与宏调用
在计算机领域,堆栈是一个不容忽视的概念,堆栈是一种后进先出(LIFO,Last-In,First-Out)的数据结构,这是因为最后压入堆栈的值总是最先被取出,而新数值在执行PUSH压栈时总是被加到堆栈的最顶端,数据也总是从堆栈的最顶端被取出,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场.
微软技术分享
2022/12/22
4690
python之函数的调用
  实际开发过程中,经常会遇到很多完全相同或者非常相似的操作,这时,可以将实现类似操作的代码封装为函数,然后在需要的地方调用该函数。这样不仅可以实现代码的复用,还可以使代码更有条理性,增加代码的可靠性。下面我们来介绍一下python的调用相关内容。
jiankang666
2022/12/05
9870
python之函数的调用
Python调用PHP的函数
        在电子商务的web平台中有可能存在这样的需求,在月末进行分红账务结算,这样就需要在web服务器下写脚本定时执行数据库的操作,这里有很多种可选的方案,Python调
py3study
2020/01/07
3.4K0
函数的调用约定 _cdecl
_cdecl(C declaration,即C声明)是源起C语言的一种调用约定,它规定,在C语言中,函数实参在线程栈上按照从右至左的顺序依次压栈,也就是说,函数参数从右往左传入。
叶茂林
2023/07/28
3530
函数的调用约定 _cdecl
(十七)函数的调用签名
# 一、函数的调用签名 说明 函数的调用签名跟我们上节课使用 type 来定义函数类型的效果基本类型是一样的 但是它支持函数附带额外属性的情况,因为在 javasctipt 里面函数也是一个特殊的对象,可以包含额外的属性 例 // 和我们之前 使用 type 定义函数类型是一样的,只是调用签名是对象形式 type RequesCallback = { (result: string): void // 以为是对象形式,所以不能使用箭头函数 } function request(callba
老怪兽
2023/02/22
9820
函数的定义和调用
1.1函数的定义方式 方式1 函数声明方式 function 关键字 (命名函数) function fn(){} 方式2 函数表达式(匿名函数) var fn = function(){} 方式3 new Function( '参数1', '参数2',' 函数体'); var f = new Function('a', 'b', 'console.log(a + b)'); f(1, 2); console.1og(f instanceof Object ); //instanceof
星辰_大海
2020/10/26
1.5K0
函数的定义和调用
【编程经验】函数的调用
主调函数使用被调函数的功能,称为函数调用。在 C 语言中,只有在函数调用时,函数体中定义的功 能才会被执行。
编程范 源代码公司
2018/07/24
8200

相似问题

用于标识调用函数的预定义宏?

20

用于检查是否调用了函数的Clojure宏

10

将noreturn属性应用于宏函数调用

21

如何在sas中将循环用于宏函数调用

217

用于打印的宏函数

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文