Articles of android camera

如何使用android ndk访问摄像头

android-NDK支持直接摄像头访问吗? 在我的NDK文件夹中没有Camera.h。

Android MediaRecorder setOutPutFile()使用Socket进行stream式传输

我正在开发一个Android应用程序,该应用程序应该能够将videostream传输到本地networking上的本地服务器,而无需将其存储在SD卡上。 为此,我在C#中使用简单的套接字应用程序来侦听特定的IP:PORT 在Android部分,我已经使用套接字将setOutputFile()设置为这个IP:PORT。 这个应用程序启动完美的Android手机,但它不显示预览,当我开始logging它退出没有任何例外。 它也不会发送任何数据stream到networking。 当我将setOutPutFile()设置为SD卡时,它可以很好地工作并loggingvideo。 对于服务器部分,当我从任何其他应用程序(从PC)发送数据到相同的IP:端口,它接收数据。 简而言之,我想要使用套接字来build立PC和Android之间的通信通道。 这是我的Android代码: Socket soc=new Socket("192.168.1.3",8210); ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(soc); … … // other Recorder setup steps … … Recorder.setOutputFile(pfd.getFileDescriptor()); // working fine for sdcard Recorder.setPreviewDisplay(holder.getSurface()); Recorder.prepare(); 这是我的服务器应用程序在C#中,并运行在PC上: socketForServer = new TcpClient("192.168.1.3", 8210); NetworkStream networkStream = socketForServer.GetStream(); byte[] rData = new byte[1024]; networkStream.Read(rData, 0, 1024); … … // process […]

修复Android相机应用高宽比和旋转

它看起来如何: http : //i41.tinypic.com/30278m1.png 它看起来像在图片中,我希望它有一个正确的长宽比与正确的旋转 请看看代码,我该如何解决? 这是我的代码: public class MainActivity extends Activity implements SurfaceHolder.Callback { Camera mCamera; SurfaceView mPreview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mPreview = (SurfaceView)findViewById(R.id.preview); mPreview.getHolder().addCallback(this); mPreview.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); mCamera = Camera.open(); } @Override public void onPause() { super.onPause(); mCamera.stopPreview(); } @Override public void onDestroy() { super.onDestroy(); mCamera.release(); } @Override public void […]

我可以在webview中打开相机吗?

我可以在webview中打开安卓相机吗?

拍照而无需预览Android

我想拍照没有任何预览。 我用这个代码,但我得到一个错误: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters); SurfaceView mview = new SurfaceView(getBaseContext()); try { camera.setPreviewDisplay(mview.getHolder()); camera.startPreview(); camera.takePicture(null,null,photoCallback); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Camera.PictureCallback photoCallback=new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues()); […]

在android中从图库和相机捕捉图像

首先我知道这是重复的问题,但我没有从画廊或相机捕获图像的问题。 我在虚拟项目上创build检查我的代码在这里工作正常但是,当我在我的项目中使用相同的代码和这里是行不通的,即使我没有得到任何错误,只要我开始活动的结果它被取消,但我仍然可以从图库中查看图像,我可以从相机捕捉图像。 当我检查logcat时,我发现下面的警告不知道为什么它来了,我怎样才能解决这个问题 W/NetworkConnectivityListener(2399): onReceived() called with CONNECTED and Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000000 (has extras) } 编辑: – 添加代码 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.camera: //define the file-name to save photo taken by Camera activity String fileName = "new-photo-name.jpg"; //create parameters for Intent with filename ContentValues values = new ContentValues(); […]

将NV21字节数组转换为位图可读格式

嘿,我正在创build小型相机应用程序,我已经实现了每一件事情,但我有一个问题是将NV21字节数组转换为JPEG格式 我find了很多方法,但是他们中的所有人甚至不工作或者在某些设备上工作 首先我试过这个片段,它在Xperia z2 5.2上工作,但是在Galaxy S4.4 4.4.4上 bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); 也是这种方式在同一设备上工作,并在另一个失败 int pich = camera.getParameters().getPreviewSize().height; int picw = camera.getParameters().getPreviewSize().width; int[] pix = new int[picw * pich]; bitmap.getPixels(pix, 0, picw, 0, 0, picw, pich); // int R, G, B, Y; for (int y = 0; y < pich; y++) { for (int x = […]

Android相机 – 有时当我拍照时,应用程序冻结,相机不可用

我build立了一个应用程序,当你触摸预览时拍照。 我可以拍很多照片,但有时当我触摸预览拍照时,没有快门声,整个应用程序冻结。 此外,之后,如果我尝试启动内置的相机应用程序,我得到的消息,相机不能使用。 我不知道这种行为的原因,它是随机发生的,当它发生时,我必须重新启动设备(三星Galaxy S)才能够再次使用相机。 在DDM中,崩溃后,我可以看到下面这行:keyDispatchingTimedOut 这里是相关的代码:CameraActivity类: public class CameraActivity extends Activity { private static final String TAG = "CameraDemo"; Preview preview; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); preview = new Preview(this); ((FrameLayout) findViewById(R.id.preview)).addView(preview); ((FrameLayout) findViewById(R.id.preview)).setOnTouchListener(preview); Log.d(TAG, "Camera Activity Created."); } } 预览类: class Preview extends SurfaceView implements SurfaceHolder.Callback, OnTouchListener { private static final […]

Android OpenGL结合了SurfaceTexture(外部图像)和普通纹理

我想混合相机预览SurfaceTexture与一些覆盖纹理。 我正在使用这些着色器进行处理: private final String vss = "attribute vec2 vPosition;\n" + "attribute vec2 vTexCoord;\n" + "varying vec2 texCoord;\n" + "void main() {\n" + " texCoord = vTexCoord;\n" + " gl_Position = vec4 ( vPosition.x, vPosition.y, 0.0, 1.0 );\n" + "}"; private final String fss = "#extension GL_OES_EGL_image_external : require\n" + "precision mediump float;\n" + "uniform […]

Android相机预览callback和录像机录制video

我想创build一个应用程序,它必须loggingvideo(使用媒体logging器)和logging的video需要格式化(使用相机)。 我创build了下面显示的示例代码,但是当从菜单中按下startrecordingbutton时会显示一个错误消息,显示强制closures错误,但是previewcallback没有错误。 我的代码如下所示 package buffer.video; import android.app.Activity; import android.os.Bundle; import java.io.IOException; import android.app.Activity; import android.hardware.Camera; import android.hardware.Camera.PreviewCallback; import android.media.MediaRecorder; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.widget.Toast; public class VofoVideoToBufferActivity extends Activity implements SurfaceHolder.Callback, Camera.AutoFocusCallback { private SurfaceView preview; private SurfaceHolder previewHolder; private MediaRecorder mRecorder; private Camera […]