gpt4 book ai didi

Android camera surfaceChanged不断被调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:27 24 4
gpt4 key购买 nike

我正在开发一个使用相机的应用程序。我做了这样的预览课:

public class MyPreview extends SurfaceView implements SurfaceHolder.Callback, Camera.Preview Callback{
...

public void surfaceCreated(SurfaceHolder holder){
...
mCamera.setPreviewCallback(this);
...
}

public void surfaceDestroyed(SurfaceHolder holder){
...
}

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h){
...
}

public void onPreviewFrame(byte[] data, Camera camera){
...
}
}

基本上就是CameraDemo的例子。 Android CameraDemo Example

问题是,surfaceCreated 只被调用一次(它应该的方式),但是 surfaceChanged 被不断地调用(而不是只调用一次,或者当表面改变时),我相信这就是为什么 onPreviewFrame 永远不会被调用的原因.摄像头画面显示在屏幕上,看起来工作正常,但实际上并非如此。

有趣的是,它在 Android 2.x 上运行良好,而问题只出现在 Android 4.1 上。 (我没有在其他设备上测试过)

我一直在四处寻找,我相信这可能是这 stackoverflow unsolved question 背后的真正原因还有这个another stackoverflow unsolved question还有这个code.google case .最后一个案例有一个“解决方案”,但它对我不起作用。

那么,对于为什么一直输入 surfaceChanged 以及如何解决它有什么想法吗?

最佳答案

试试这些教程 http://android-er.blogspot.ru/2010/12/implement-takepicture-function-of.html .也可以尝试查看该周期的先前文章。

关于Android camera surfaceChanged不断被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14099286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com