通过MediaRecorder录制。然后绑定一个localsocket,可以获取编码后的视频数据传输;
代码如下:
package com.pei;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
import android.graphics.PixelFormat;
import android.media.MediaRecorder;
import android.net.LocalServerSocket;
import android.net.LocalSocket;
import android.net.LocalSocketAddress;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
/**
* class name:VideoCameraActivity
* class description:CATCH THE VIDEODATA SEND TO RED5
* PS:
*
* @version 1.00 2011/11/05
* @author CODYY)peijiangping
*/
public class VideoCameraActivity extends Activity implements
SurfaceHolder.Callback, MediaRecorder.OnErrorListener,
MediaRecorder.OnInfoListener {
private static final int mVideoEncoder = MediaRecorder.VideoEncoder.H264;
private LocalSocket receiver, sender;
private LocalServerSocket lss;
private MediaRecorder mMediaRecorder = null;
private boolean mMediaRecorderRecording = false;
private SurfaceView mSurfaceView = null;
private SurfaceHolder mSurfaceHolder = null;
private Thread t;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_