Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 与Tom G'一起使用摄像头仿真的问题;高温超导照相机_Android_Streaming_Camera_Emulation - Fatal编程技术网

Android 与Tom G'一起使用摄像头仿真的问题;高温超导照相机

Android 与Tom G'一起使用摄像头仿真的问题;高温超导照相机,android,streaming,camera,emulation,Android,Streaming,Camera,Emulation,我正在尝试使用android模拟器从网络摄像头预览视频。我使用了tom gibara示例代码,减去webbroadcaster(我使用的是通过http的VLC流) 因此,我修改了SDK的“CameraPreview”应用程序以使用HttpCamera,但流从未出现。通过调试也没有给我任何线索。我不知道其他人是否清楚任何显而易见的事情?预览应用程序启动并保持黑色 注: 我已经更新了原始的CameraPreview类,如下所述:,但引用的是httpCamera而不是socketcamera 我更新了

我正在尝试使用android模拟器从网络摄像头预览视频。我使用了tom gibara示例代码,减去webbroadcaster(我使用的是通过http的VLC流)

因此,我修改了SDK的“CameraPreview”应用程序以使用HttpCamera,但流从未出现。通过调试也没有给我任何线索。我不知道其他人是否清楚任何显而易见的事情?预览应用程序启动并保持黑色

注:

  • 我已经更新了原始的CameraPreview类,如下所述:,但引用的是httpCamera而不是socketcamera
  • 我更新了Tom的原始示例,以引用“Camera”类型,而不是不推荐的“CameraDevice”类型
  • 下面是我的CameraPreview.java
  • 多谢各位

  • 您尚未为HttpCamera指定协议。尝试
    http://10.213.74.247:443

    package com.example.android.apis.graphics;
    
    import android.app.Activity;
    import android.content.Context;
    import android.hardware.Camera;
    import android.os.Bundle;
    import android.view.SurfaceHolder;
    import android.view.SurfaceView;
    import android.view.Window;
    import java.io.IOException;
    import android.graphics.Canvas;
    
    // ----------------------------------------------------------------------
    
    public class CameraPreview extends Activity {    
        private Preview mPreview;
    
        @Override
     protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            // Hide the window title.
            requestWindowFeature(Window.FEATURE_NO_TITLE);
    
            // Create our Preview view and set it as the content of our activity.
            mPreview = new Preview(this);
            setContentView(mPreview);
        }
    
    }
    
    // ----------------------------------------------------------------------
    
    class Preview extends SurfaceView implements SurfaceHolder.Callback {
        SurfaceHolder mHolder;
        //Camera mCamera;
        HttpCamera mCamera;//changed
    
        Preview(Context context) {
            super(context);
    
            // Install a SurfaceHolder.Callback so we get notified when the
            // underlying surface is created and destroyed.
            mHolder = getHolder();
            mHolder.addCallback(this);
            //mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
            mHolder.setType(SurfaceHolder.SURFACE_TYPE_NORMAL);//changed
        }
    
        public void surfaceCreated(SurfaceHolder holder) {
            // The Surface has been created, acquire the camera and tell it where
            // to draw.
            //mCamera = Camera.open();
         this.StartCameraPreview(holder);
        }
    
        public void surfaceDestroyed(SurfaceHolder holder) {
            // Surface will be destroyed when we return, so stop the preview.
            // Because the CameraDevice object is not a shared resource, it's very
            // important to release it when the activity is paused.
            //mCamera.stopPreview();//changed
            mCamera = null;
        }
    
        public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
            // Now that the size is known, set up the camera parameters and begin
            // the preview.
            //Camera.Parameters parameters = mCamera.getParameters();
            //parameters.setPreviewSize(w, h);
            //mCamera.setParameters(parameters);
            //mCamera.startPreview();
         this.StartCameraPreview(holder);
        }
    
        private void StartCameraPreview(SurfaceHolder sh)
        {
         mCamera = new HttpCamera("10.213.74.247:443", 640, 480, true);//changed
    
            try {
               //mCamera.setPreviewDisplay(holder);
             Canvas c = sh.lockCanvas(null);
             mCamera.capture(c);
             sh.unlockCanvasAndPost(c);
    
            } catch (Exception exception) {
                //mCamera.release();
                mCamera = null;
                // TODO: add more exception handling logic here
            }
        }
    
    }